mirror of https://github.com/torvalds/linux.git
x86/mm: Opt-in to IRQs-off activate_mm()
We gain nothing by having the core code enable IRQs right before calling activate_mm() only for us to turn them right back off again in switch_mm(). This will save a few cycles, so execve() should be blazingly fast with this patch applied! Signed-off-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Rik van Riel <riel@surriel.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Link: https://lore.kernel.org/r/20250402094540.3586683-8-mingo@kernel.org
This commit is contained in:
parent
e7021e2fe0
commit
af8967158f
|
|
@ -153,6 +153,7 @@ config X86
|
|||
select ARCH_WANT_HUGETLB_VMEMMAP_PREINIT if X86_64
|
||||
select ARCH_WANTS_THP_SWAP if X86_64
|
||||
select ARCH_HAS_PARANOID_L1D_FLUSH
|
||||
select ARCH_WANT_IRQS_OFF_ACTIVATE_MM
|
||||
select BUILDTIME_TABLE_SORT
|
||||
select CLKEVT_I8253
|
||||
select CLOCKSOURCE_WATCHDOG
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ extern void switch_mm_irqs_off(struct mm_struct *prev, struct mm_struct *next,
|
|||
#define activate_mm(prev, next) \
|
||||
do { \
|
||||
paravirt_enter_mmap(next); \
|
||||
switch_mm((prev), (next), NULL); \
|
||||
switch_mm_irqs_off((prev), (next), NULL); \
|
||||
} while (0);
|
||||
|
||||
#ifdef CONFIG_X86_32
|
||||
|
|
|
|||
Loading…
Reference in New Issue