From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Borntraeger Subject: Re: [PATCH] KVM: fix polling for guest halt continued even if disable it Date: Tue, 15 Sep 2015 09:16:43 +0200 Message-ID: <55F7C5DB.80903@de.ibm.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, linux-kernel@vger.kernel.org To: Wanpeng Li , Paolo Bonzini Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org Am 14.09.2015 um 11:38 schrieb Wanpeng Li: > If there is already some polling ongoing, it's impossible to disable the > polling, since as soon as somebody sets halt_poll_ns to 0, polling will > never stop, as grow and shrink are only handled if halt_poll_ns is != 0. > > This patch fix it by reset vcpu->halt_poll_ns in order to stop polling > when polling is disabled. > > Reported-by: Christian Borntraeger > Signed-off-by: Wanpeng Li > --- > virt/kvm/kvm_main.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c > index 4662a88..f756cac0 100644 > --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -2012,7 +2012,8 @@ out: > else if (vcpu->halt_poll_ns < halt_poll_ns && > block_ns < halt_poll_ns) > grow_halt_poll_ns(vcpu); > - } > + } else > + vcpu->halt_poll_ns = 0; > > trace_kvm_vcpu_wakeup(block_ns, waited); > } > Tested-by: Christian Borntraeger