KVM: X86: Narrow down the IPI fastpath to single target IPI
authorWanpeng Li <wanpengli@tencent.com>
Thu, 26 Mar 2020 02:20:01 +0000 (10:20 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 26 Mar 2020 09:44:21 +0000 (05:44 -0400)
commite1be9ac8e6014a9b0a216aebae7250f9863e9fc3
treec14008c823087424a16f2885cab2a7cba3633655
parent94be4b85d89520329f766c7d69a4d74bcc87f5b5
KVM: X86: Narrow down the IPI fastpath to single target IPI

The original single target IPI fastpath patch forgot to filter the
ICR destination shorthand field. Multicast IPI is not suitable for
this feature since wakeup the multiple sleeping vCPUs will extend
the interrupt disabled time, it especially worse in the over-subscribe
and VM has a little bit more vCPUs scenario. Let's narrow it down to
single target IPI.

Two VMs, each is 76 vCPUs, one running 'ebizzy -M', the other
running cyclictest on all vCPUs, w/ this patch, the avg score
of cyclictest can improve more than 5%. (pv tlb, pv ipi, pv
sched yield are disabled during testing to avoid the disturb).

Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Message-Id: <1585189202-1708-3-git-send-email-wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/x86.c