Re: [PATCH 4/9] x86/mm/tlb: Flush remote and local TLBs concurrently

From: Andy Lutomirski
Date: Tue Jun 25 2019 - 23:51:21 EST


On Tue, Jun 25, 2019 at 8:48 PM Nadav Amit <namit@xxxxxxxxxx> wrote:
>
> > On Jun 25, 2019, at 8:36 PM, Andy Lutomirski <luto@xxxxxxxxxx> wrote:
> >
> > On Wed, Jun 12, 2019 at 11:49 PM Nadav Amit <namit@xxxxxxxxxx> wrote:
> >> To improve TLB shootdown performance, flush the remote and local TLBs
> >> concurrently. Introduce flush_tlb_multi() that does so. The current
> >> flush_tlb_others() interface is kept, since paravirtual interfaces need
> >> to be adapted first before it can be removed. This is left for future
> >> work. In such PV environments, TLB flushes are not performed, at this
> >> time, concurrently.
> >
> > Would it be straightforward to have a default PV flush_tlb_multi()
> > that uses flush_tlb_others() under the hood?
>
> I prefer not to have a default PV implementation that should anyhow go away.
>
> I can create unoptimized untested versions for Xen and Hyper-V, if you want.
>

I think I prefer that approach. We should be able to get the
maintainers to test it. I don't love having legacy paths in there,
ahem, UV.