On 07/09/2012 02:20 AM, Raghavendra K T wrote:

+bool kvm_arch_vcpu_check_and_update_eligible(struct kvm_vcpu *vcpu)
+{
+       bool eligible;
+
+       eligible = !vcpu->arch.plo.pause_loop_exited ||
+                       (vcpu->arch.plo.pause_loop_exited&&
+                        vcpu->arch.plo.dy_eligible);
+
+       if (vcpu->arch.plo.pause_loop_exited)
+               vcpu->arch.plo.dy_eligible = !vcpu->arch.plo.dy_eligible;
+
+       return eligible;
+}

This is a nice simple mechanism to skip CPUs that were
eligible last time and had pause loop exits recently.

However, it could stand some documentation.  Please
add a good comment explaining how and why the algorithm
works, when arch.plo.pause_loop_exited is cleared, etc...

It would be good to make this heuristic understandable
to people who look at the code for the first time.

--
All rights reversed
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to