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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html