Re: [PATCH 1/5] KVM: simplify branch check in host poll code

From: Marcelo Tosatti
Date: Fri Nov 01 2019 - 17:26:56 EST


On Sat, Oct 26, 2019 at 11:23:55AM +0800, Zhenzhong Duan wrote:
> Remove redundant check.
>
> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxxx>
> ---
> virt/kvm/kvm_main.c | 9 ++++-----
> 1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
> index 67ef3f2..2ca2979 100644
> --- a/virt/kvm/kvm_main.c
> +++ b/virt/kvm/kvm_main.c
> @@ -2366,13 +2366,12 @@ void kvm_vcpu_block(struct kvm_vcpu *vcpu)
> } else if (halt_poll_ns) {
> 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)
> - 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 &&

This is not a redundant check: it avoids from calling
into grow_halt_poll_ns, which will do:

1) Multiplication
2) Cap that back to halt_poll_ns
3) Invoke the trace_kvm_halt_poll_ns_grow tracepoint
(when in fact vcpu->halt_poll_ns did not grow).