When a H_IPI hypercall is made, we often need to switch to the host to poke the VCPU to which the virtual IPI is targeted. This is because we cannot do a thread wake-up in real mode in the guest. Peformance tests have shown that this is impacting several different workloads - from MongoDB to small message networking.
One solution is to hand off this job of waking the VCPU to a CPU that is running in the host by sending it a message through the IPI mechanism from the guest. Currently, we only support 4 IPI messages and all 4 are already used for other purposes. This patch set increases the number of supported IPI messages to 8. It also provides the code to send an IPI from KVM real-mode since the existing cause_ipi functions cannot be executed in real-mode. There is an associated patch set for "KVM: PPC: Book3S HV" that implements the actual solution to avoid the switch to host to do the VCPU wakeup. Suresh Warrier (2): powerpc/smp: Support more IPI messages powerpc/smp: Add smp_muxed_ipi_rm_message_pass arch/powerpc/include/asm/smp.h | 4 ++++ arch/powerpc/kernel/smp.c | 38 ++++++++++++++++++++++++++++++++++---- 2 files changed, 38 insertions(+), 4 deletions(-) -- 1.8.3.4 _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev