From: Christian Borntraeger <borntraeger@de.ibm.com>
To: "Paolo Bonzini" <pbonzini@redhat.com>,
"Radim Krčmář" <rkrcmar@redhat.com>
Cc: KVM <kvm@vger.kernel.org>,
Cornelia Huck <cornelia.huck@de.ibm.com>,
linux-s390 <linux-s390@vger.kernel.org>,
David Matlack <dmatlack@google.com>,
Wanpeng Li <kernellwp@gmail.com>
Subject: Re: [PATCH 1/1] KVM: shrink halt polling even more for invalid wakeups
Date: Tue, 17 May 2016 15:54:34 +0200 [thread overview]
Message-ID: <573B229A.3050608@de.ibm.com> (raw)
In-Reply-To: <1463474962-5941-2-git-send-email-borntraeger@de.ibm.com>
On 05/17/2016 10:49 AM, Christian Borntraeger wrote:
> commit 3491caf2755e ("KVM: halt_polling: provide a way to qualify
> wakeups during poll") added more aggressive shrinking of the
> polling interval if the wakeup did not match some criteria. This
> still allows to keep polling enabled if the polling time was
> smaller that the current max poll time (block_ns <= vcpu->halt_poll_ns).
> Performance measurement shows that even more aggressive shrinking
> (shrink polling on any invalid wakeup) reduces absolute and relative
> (to the workload) CPU usage even further.
>
> Cc: David Matlack <dmatlack@google.com>
> Cc: Wanpeng Li <kernellwp@gmail.com>
> Cc: Radim Krčmář <rkrcmar@redhat.com>
> CC: Paolo Bonzini <pbonzini@redhat.com>
> CC: Cornelia Huck <cornelia.huck@de.ibm.com>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> virt/kvm/kvm_main.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index fbd7698..dec1ed2 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -2055,12 +2055,13 @@ void kvm_vcpu_block(struct kvm_vcpu *vcpu)
> out:
> block_ns = ktime_to_ns(cur) - ktime_to_ns(start);
>
> - if (halt_poll_ns) {
> + if (!vcpu_valid_wakeup(vcpu))
> + shrink_halt_poll_ns(vcpu);
^ hmpf. Small whitespace error. I can resend if wanted.
> + else if (halt_poll_ns) {
> if (block_ns <= vcpu->halt_poll_ns)
> ;
> /* we had a long block, shrink polling */
> - else if (!vcpu_valid_wakeup(vcpu) ||
> - (vcpu->halt_poll_ns && block_ns > halt_poll_ns))
> + else if (vcpu->halt_poll_ns && block_ns > halt_poll_ns)
> shrink_halt_poll_ns(vcpu);
> /* we had a short halt and our poll time is too small */
> else if (vcpu->halt_poll_ns < halt_poll_ns &&
>
next prev parent reply other threads:[~2016-05-17 13:54 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-17 8:49 [PATCH 0/1] KVM: more halt polling Christian Borntraeger
2016-05-17 8:49 ` [PATCH 1/1] KVM: shrink halt polling even more for invalid wakeups Christian Borntraeger
2016-05-17 13:54 ` Christian Borntraeger [this message]
2016-05-17 16:43 ` Paolo Bonzini
2016-05-17 17:00 ` Cornelia Huck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=573B229A.3050608@de.ibm.com \
--to=borntraeger@de.ibm.com \
--cc=cornelia.huck@de.ibm.com \
--cc=dmatlack@google.com \
--cc=kernellwp@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=pbonzini@redhat.com \
--cc=rkrcmar@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.