From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Borntraeger Subject: Re: [PATCH] KVM: halt-polling: poll if emulated lapic timer will fire soon Date: Thu, 19 May 2016 13:56:03 +0200 Message-ID: <573DA9D3.3070205@de.ibm.com> References: <1463649990-5889-1-git-send-email-wanpeng.li@hotmail.com> <573DA24D.3080507@de.ibm.com> <573DA6A8.1000401@de.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: "linux-kernel@vger.kernel.org" , kvm , Wanpeng Li , Paolo Bonzini , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , David Matlack To: Wanpeng Li Return-path: In-Reply-To: Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org On 05/19/2016 01:48 PM, Wanpeng Li wrote: > 2016-05-19 19:42 GMT+08:00 Christian Borntraeger : >> On 05/19/2016 01:35 PM, Wanpeng Li wrote: >>> 2016-05-19 19:23 GMT+08:00 Christian Borntraeger : >>>> On 05/19/2016 11:26 AM, Wanpeng Li wrote: >>>> >>>> I think in general a good idea to poll if a timer will expire soon. >>>> >>>> Some patch comments: >>>> >>>> Same for all non-x86 archs: >>>>> +static inline unsigned int kvm_arch_timer_remaining(struct kvm_vcpu *vcpu) {} >>>> >>>> A function returning int, without a return statement? >>>> That gives at least a compiler warning. >>> >>> How about return 0 for all non-x86 archs? >> >> We will provide an s390 implementation soon, but until then a proper >> default would be good. >> >> [....] >>>>> + if (vcpu->halt_poll_ns || (remaining < halt_poll_ns_base)) { >> >> but then remaining is 0 and the 2nd condition will always be true, no? > > Nice catch! > > How about something like below: > > + if (vcpu->halt_poll_ns || > + (remaining != 0 && remaining < halt_poll_ns_base)) { Maybe just use -1UL to have a "will never expire" and change the return value into u64 while changing that.