lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 19 Dec 2016 16:05:55 +0300
From:   Denis Plotnikov <dplotnikov@...tuozzo.com>
To:     Paolo Bonzini <pbonzini@...hat.com>,
        <linux-kernel@...r.kernel.org>, <kvm@...r.kernel.org>
CC:     <rkrcmar@...hat.com>, <rkagan@...tuozzo.com>
Subject: Re: [RFC PATCH v3 0/6] KVM: x86: avoid redundant REQ_EVENT



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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ