[PATCH 02/10] powerpc/xive: guest exploitation of the XIVE interrupt controller
Benjamin Herrenschmidt
benh at kernel.crashing.org
Thu Aug 10 21:33:51 AEST 2017
On Thu, 2017-08-10 at 08:45 +0200, Cédric Le Goater wrote:
> > The problem with doorbells on POWER9 guests is that they may have
> > to trap and be emulated by the hypervisor, since the guest threads
> > on P9 don't have to match the HW threads of the core.
>
> Well, the pseries cause_ipi() handler does :
>
> if (doorbell_try_core_ipi(cpu))
> return;
>
> to limit the doorbells to the same core. So we should be fine ?
No. It's theorically possible to create a guest that think it has 4
threads on P9 but those threads run on different cores of the host.
The doorbells are useful if KVM uses a "P8 style" whole-core dispatch
model or with PowerVM. We should probably invent some kind of DT
property to tell the guest I suppoes.
> If not
> I suppose we should check CPU_FTR_ARCH_300 and use IPIs only for XIVE.
>
> > Thus it's quite possible that using XIVE for IPIs is actually faster
> > than doorbells in that case.
>
> How can we measure that ? ebizzy may be.
Or a simple socket ping pong with processes pinned to different
threads.
However the current KVM for P9 doesn't do threads yet afaik.
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list