Re: [RFC PATCH v3 0/6] KVM: x86: avoid redundant REQ_EVENT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux