On 2019/11/2 5:03, Marcelo Tosatti wrote:
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).
In this branch, vcpu->halt_poll_ns < block_ns is true, and if block_ns <
halt_poll_ns,
then vcpu->halt_poll_ns < halt_poll_ns is always true, isn't it?
I realized I ignored the situation that halt_poll_ns and
halt_poll_ns_grow could be
updated at runtime, so pls ignore this patch, I'll fix it by following
the guest haltpoll code.
Thanks
Zhenzhong