On 09/19/2018 01:50 AM, Peter Zijlstra wrote: > Dave, can you have a wee look at the Atom errata thing; this does grow the > amount of code between the page-table update and the TLB flush a bit, but all > that PTI crud we did a while back already made it a non-trivial amount of > code.
Oh, were you worried that the act of sending the IPIs widens the window vs. just doing the local flush? We definitely do the smp_call_function() dance *before* we do the local TLB invalidation in in on_each_cpu(). But, the existing flush was not a "true" fix anyway. It just tended to work around things. If the issue pops back up, I'd prefer that we just do: __flush_tlb_all(); flush_tlb_all(); Preferably with an actual model/family check for the "AAH41" workaround. The real value of what you did was moving the flush_tlb_all() closer, and that remains either way.