Re: [PATCH 7/7] x86/mm/tlb: Make lazy TLB mode lazier

2018-10-01 Thread Peter Zijlstra
On Tue, Sep 25, 2018 at 11:58:44PM -0400, Rik van Riel wrote: > @@ -594,8 +628,23 @@ void native_flush_tlb_others(const struct cpumask > *cpumask, > (void *)info, 1); > return; > } > - smp_call_function_many(cpumask,

Re: [PATCH 7/7] x86/mm/tlb: Make lazy TLB mode lazier

2018-10-01 Thread Peter Zijlstra
On Tue, Sep 25, 2018 at 11:58:44PM -0400, Rik van Riel wrote: > @@ -594,8 +628,23 @@ void native_flush_tlb_others(const struct cpumask > *cpumask, > (void *)info, 1); > return; > } > - smp_call_function_many(cpumask,

[PATCH 7/7] x86/mm/tlb: Make lazy TLB mode lazier

2018-09-25 Thread Rik van Riel
Lazy TLB mode can result in an idle CPU being woken up by a TLB flush, when all it really needs to do is reload %CR3 at the next context switch, assuming no page table pages got freed. Memory ordering is used to prevent race conditions between switch_mm_irqs_off, which checks whether .tlb_gen

[PATCH 7/7] x86/mm/tlb: Make lazy TLB mode lazier

2018-09-25 Thread Rik van Riel
Lazy TLB mode can result in an idle CPU being woken up by a TLB flush, when all it really needs to do is reload %CR3 at the next context switch, assuming no page table pages got freed. Memory ordering is used to prevent race conditions between switch_mm_irqs_off, which checks whether .tlb_gen

[PATCH 7/7] x86/mm/tlb: Make lazy TLB mode lazier

2018-09-24 Thread Rik van Riel
Lazy TLB mode can result in an idle CPU being woken up by a TLB flush, when all it really needs to do is reload %CR3 at the next context switch, assuming no page table pages got freed. Memory ordering is used to prevent race conditions between switch_mm_irqs_off, which checks whether .tlb_gen

[PATCH 7/7] x86/mm/tlb: Make lazy TLB mode lazier

2018-09-24 Thread Rik van Riel
Lazy TLB mode can result in an idle CPU being woken up by a TLB flush, when all it really needs to do is reload %CR3 at the next context switch, assuming no page table pages got freed. Memory ordering is used to prevent race conditions between switch_mm_irqs_off, which checks whether .tlb_gen