On 19.12.2016 12:47, Paolo Bonzini wrote:
This is the result of cleaning up the places that set REQ_EVENT unnecessarily.
The savings on self-IPI kvm-unit-tests are:
self_ipi_sti_nop ~300 clock cycles
self_ipi_sti_hlt ~300 clock cycles
self_ipi_tpr ~400 clock cycles
self_ipi_tpr_sti_nop ~700 clock cycles
self_ipi_tpr_sti_hlt ~700 clock cycles
which is in the 5-10% range. Please help me comparing this series with
"[PATCH v2] KVM: x86: avoid redundant REQ_EVENT" on the real workload!
Thanks,
Paolo
This new patch-set does avoid unnecessary interrupt re-injections - checked.
The test (MS Windows, sending messages between multiple windows using
windows-specific interface),
which showed performance growth with "[PATCH v2] KVM: x86: avoid
redundant REQ_EVENT" showed pretty much the same performance level with
this new patch-set.
The test score difference (+2.4% to [PATCH v2]) is within the tolerance
range(5%).
The test score on mainstream v4.9 kernel CPU Intel i5-2400, guest
Windows Server 2012 2VCPU, 2GB:
without patch: 31510 (+/- 4%)
with patch: 36270 (+/- 5%)
difference = (36270-31510)/31510 * 100 = +15% -- looks good!
Thanks!
Paolo Bonzini (6):
KVM: x86: add VCPU stat for KVM_REQ_EVENT processing
KVM: lapic: do not set KVM_REQ_EVENT unnecessarily on EOI
KVM: vmx: speed up TPR below threshold vmexits
KVM: lapic: remove unnecessary KVM_REQ_EVENT on PPR update
KVM: lapic: do not set KVM_REQ_EVENT unnecessarily on PPR update
KVM: lapic: do not scan IRR when delivering an interrupt
arch/x86/include/asm/kvm_host.h | 1 +
arch/x86/kvm/lapic.c | 58 +++++++++++++++++++++++++----------------
arch/x86/kvm/lapic.h | 1 +
arch/x86/kvm/vmx.c | 2 +-
arch/x86/kvm/x86.c | 2 ++
5 files changed, 41 insertions(+), 23 deletions(-)
--
Best,
Denis
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html