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))
> 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
However the current KVM for P9 doesn't do threads yet afaik.