[PATCH 0/8] x86/mm/cpa: Further optimizations

From: Dave Hansen
Date: Fri Sep 21 2018 - 18:51:09 EST


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.