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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux