lkml.org 
[lkml]   [2017]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC 00/10] x86 TLB flush cleanups, moving toward PCID support

* Andy Lutomirski <luto@kernel.org> wrote:

> As I've been working on polishing my PCID code, a major problem I've
> encountered is that there are too many x86 TLB flushing code paths and
> that they have too many inconsequential differences. The result was
> that earlier versions of the PCID code were a colossal mess and very
> difficult to understand.
>
> This series goes a long way toward cleaning up the mess. With all the
> patches applied, there is a single function that contains the meat of
> the code to flush the TLB on a given CPU, and all the tlb flushing
> APIs call it for both local and remote CPUs.
>
> This series should only adversely affect the kernel in a couple of
> minor ways:
>
> - It makes smp_mb() unconditional when flushing TLBs. We used to
> use the TLB flush itself to mostly avoid smp_mb() on the initiating
> CPU.
>
> - On UP kernels, we lose the dubious optimization of inlining nerfed
> variants of all the TLB flush APIs. This bloats the kernel a tiny
> bit, although it should increase performance, since the SMP
> versions were better.
>
> Patch 10 in here is a little bit off topic. It's a cleanup that's
> also needed before PCID can go in, but it's not directly about
> TLB flushing.
>
> Thoughts?

Looks really nifty! The diffstat alone appears to be worth it:

18 files changed, 334 insertions(+), 408 deletions(-)

Will have a closer look next week.

Thanks,

Ingo

\
 
 \ /
  Last update: 2017-05-08 01:46    [W:0.251 / U:24.820 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site