diff options
author | Ingo Molnar <mingo@elte.hu> | 2011-02-06 12:59:22 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-02-06 12:59:38 +0100 |
commit | 55835eb62fad1253c9e657a667549945e4be9759 (patch) | |
tree | 21626f8fe39d917a955f1f5110d63e4765a3ec93 /arch | |
parent | 83a06bf50bdf2074b9404951ff60e142d159d93b (diff) | |
parent | f266a5110d453b7987194460ac7edd31f1a5426c (diff) |
Merge branch 'timers/locking'
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/include/asm/mmu_context.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/include/asm/mmu_context.h b/arch/x86/include/asm/mmu_context.h index 4a2d4e0c18d..8b5393ec108 100644 --- a/arch/x86/include/asm/mmu_context.h +++ b/arch/x86/include/asm/mmu_context.h @@ -36,8 +36,6 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, unsigned cpu = smp_processor_id(); if (likely(prev != next)) { - /* stop flush ipis for the previous mm */ - cpumask_clear_cpu(cpu, mm_cpumask(prev)); #ifdef CONFIG_SMP percpu_write(cpu_tlbstate.state, TLBSTATE_OK); percpu_write(cpu_tlbstate.active_mm, next); @@ -47,6 +45,9 @@ static inline void switch_mm(struct mm_struct *prev, struct mm_struct *next, /* Re-load page tables */ load_cr3(next->pgd); + /* stop flush ipis for the previous mm */ + cpumask_clear_cpu(cpu, mm_cpumask(prev)); + /* * load the LDT, if the LDT is different: */ |