On 05/02/2016 01:46 PM, Cornelia Huck wrote: > On Mon, 2 May 2016 12:42:33 +0200 > Christian Borntraeger <borntraeger@xxxxxxxxxx> 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? Yes, will fix in v2. > >> grow_halt_poll_ns(vcpu); >> } else >> vcpu->halt_poll_ns = 0; >> + vcpu_reset_wakeup(vcpu); >> >> trace_kvm_vcpu_wakeup(block_ns, waited); >> } > -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html