On 11/30/2017 10:48 AM, Andy Lutomirski wrote: >> __flush_tlb() does a flushing CR3 write that flushes the current PCID. >> If we need other PCIDs flushed, we have to do it via the >> tlb_flush_shared_nonglobals() mechanism. >> >> Does it matter today in practice? Nope, we never have that situation. >> But, it also doesn't _hurt_ to have that line there in any way. > Should it be > tlb_flush_shared_nonglobals_if_kernel_and_user_pagetables_are_separate()?
The separate page tables doesn't play into it as far as I can tell. the important thing is that you have "stuff" in some other *kernel* address space that you didn't flush. > The whole idea that we can get away with ambiguous functions like > __flush_tlb() seems to be much less true with KAISER. I think we > should maybe start getting rid of overly vague functions like this. Yeah, making the intent more explicit would be highly welcome.

