On Mon, Dec 04, 2017 at 02:54:46PM -0800, Andy Lutomirski wrote: > On Mon, Dec 4, 2017 at 2:47 PM, Peter Zijlstra <[email protected]> wrote:
> > As is __flush_tlb_single() does user and __flush_tlb_one() does > > user+kernel. > > Yep. A one-liner above the function to that effect would make it > *way* clearer what's going on. Bah, since my notes are upstairs I actually got that wrong, do_kernel_range_flush() also uses __flush_tlb_single(), but then it finishes with invalidate_pcid_other(), so effectively it shoots down world. So we should probably switch do_kernel_range_flush() to __flush_tlb_one() and tlb_uv.c (pending SGI approval) to __flush_tlb_single(). I'll dig through my notes in the morning and do a patch with comments.

