Re: [PATCH 6/9] KVM: x86: Provide paravirtualized flush_tlb_multi()

From: Nadav Amit
Date: Tue Jun 25 2019 - 22:39:50 EST


> On Jun 25, 2019, at 2:40 PM, Dave Hansen <dave.hansen@xxxxxxxxx> wrote:
>
> On 6/12/19 11:48 PM, Nadav Amit wrote:
>> Support the new interface of flush_tlb_multi, which also flushes the
>> local CPU's TLB, instead of flush_tlb_others that does not. This
>> interface is more performant since it parallelize remote and local TLB
>> flushes.
>>
>> The actual implementation of flush_tlb_multi() is almost identical to
>> that of flush_tlb_others().
>
> This confused me a bit. I thought we didn't support paravirtualized
> flush_tlb_multi() from reading earlier in the series.
>
> But, it seems like that might be Xen-only and doesn't apply to KVM and
> paravirtualized KVM has no problem supporting flush_tlb_multi(). Is
> that right? It might be good to include some of that background in the
> changelog to set the context.

Iâll try to improve the change-logs a bit. There is no inherent reason for
PV TLB-flushers not to implement their own flush_tlb_multi(). It is left
for future work, and here are some reasons:

1. Hyper-V/Xen TLB-flushing code is not very simple
2. I donât have a proper setup
3. I am lazy