From mboxrd@z Thu Jan 1 00:00:00 1970 From: Cornelia Huck Subject: Re: [PATCH/RFC] KVM: halt_polling: provide a way to qualify wakeups during poll Date: Mon, 2 May 2016 13:46:27 +0200 Message-ID: <20160502134627.71319e1b.cornelia.huck@de.ibm.com> References: <1462185753-14634-1-git-send-email-borntraeger@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1462185753-14634-1-git-send-email-borntraeger@de.ibm.com> Sender: kvm-owner@vger.kernel.org List-Archive: List-Post: To: Christian Borntraeger Cc: Paolo Bonzini , Radim =?UTF-8?B?S3LEjW3DocWZ?= , KVM , linux-s390 , Jens Freimann , David Hildenbrand List-ID: On Mon, 2 May 2016 12:42:33 +0200 Christian Borntraeger wrote: > @@ -2038,14 +2039,16 @@ out: > if (block_ns <= vcpu->halt_poll_ns) > ; > /* we had a long block, shrink polling */ > - else if (vcpu->halt_poll_ns && block_ns > halt_poll_ns) > + else if (!vcpu_valid_wakeup(vcpu) || > + (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 && > - block_ns < halt_poll_ns) > + block_ns < halt_poll_ns && vcpu_valid_wakeup(vcpu)) Isn't that vcpu_valid_wakeup() check superflous, as we have collected all !vcpu_valid_wakeup() cases in the previous if? > grow_halt_poll_ns(vcpu); > } else > vcpu->halt_poll_ns = 0; > + vcpu_reset_wakeup(vcpu); > > trace_kvm_vcpu_wakeup(block_ns, waited); > }