Re: [PATCH v3 2/6] KVM: X86: Implement PV IPIs in linux guest

From: Radim Krcmar
Date: Fri Jul 20 2018 - 05:51:42 EST


2018-07-20 11:33+0800, Wanpeng Li:
> On Fri, 20 Jul 2018 at 00:28, Radim KrÄmÃÅ <rkrcmar@xxxxxxxxxx> wrote:
> > 2018-07-03 14:21+0800, Wanpeng Li:
> > But because it is very similar to x2apic, I'd really need some real
> > performance data to see if this benefits a real workload.
>
> Thanks for your review, Radim! :) I will find another real benchmark
> instead of the micro one to evaluate the performance.

Analyzing the cpu bitmap for every IPI request on a non-small guest (at
least 32 VCPUs, ideally >256) during various workloads could also
provide some insight regardless of workload/benchmark result -- we want
to know how many VM exits we would save.

> > > +static void kvm_send_ipi_all(int vector)
> > > +{
> > > + __send_ipi_mask(cpu_online_mask, vector);
> >
> > These should be faster when using the native APIC shorthand -- is this
> > the "Broadcast" in your tests?
>
> Not true, .send_IPI_all almost no callers though linux apic drivers
> implement this hook, in addition, shortcut is not used for x2apic
> mode(__x2apic_send_IPI_dest()), and very limited using in other
> scenarios according to linux apic drivers.

Good point,
(xAPIC is using shorthands, so I didn't expect we'd stop doing so on
x2APIC, but there was probably no need.)

thanks.