From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH 2/3] KVM: add kvm_arch_vcpu_runnable() test to kvm_vcpu_on_spin() loop Date: Thu, 27 Feb 2014 19:20:33 +0100 Message-ID: <530F81F1.5050109@redhat.com> References: <1393427659-42501-1-git-send-email-borntraeger@de.ibm.com> <1393427659-42501-3-git-send-email-borntraeger@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Gleb Natapov , KVM , linux-s390 , Cornelia Huck , Michael Mueller To: Raghavendra KT , Christian Borntraeger Return-path: Received: from mail-qc0-f178.google.com ([209.85.216.178]:42340 "EHLO mail-qc0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751979AbaB0SUj (ORCPT ); Thu, 27 Feb 2014 13:20:39 -0500 In-Reply-To: Sender: kvm-owner@vger.kernel.org List-ID: Il 27/02/2014 19:11, Raghavendra KT ha scritto: > On Wed, Feb 26, 2014 at 8:44 PM, Christian Borntraeger > wrote: >> From: Michael Mueller >> >> Use the arch specific function kvm_arch_vcpu_runnable() to add a further >> criterium to identify a suitable vcpu to yield to during undirected yield >> processing. >> >> Signed-off-by: Michael Mueller >> Reviewed-by: Christian Borntraeger >> Signed-off-by: Christian Borntraeger >> --- >> virt/kvm/kvm_main.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c >> index f5668a4..5fd4cf8 100644 >> --- a/virt/kvm/kvm_main.c >> +++ b/virt/kvm/kvm_main.c >> @@ -1801,7 +1801,7 @@ void kvm_vcpu_on_spin(struct kvm_vcpu *me) >> continue; >> if (vcpu == me) >> continue; >> - if (waitqueue_active(&vcpu->wq)) >> + if (waitqueue_active(&vcpu->wq) && !kvm_arch_vcpu_runnable(vcpu)) >> continue; >> if (!kvm_vcpu_eligible_for_directed_yield(vcpu)) >> continue; >> -- >> 1.8.4.2 >> > > I ran kernbench/sysbench/ebizzy on x86 guest to confirm that this did > not have any adverse effect in ple handler path. Thanks! Paolo