Messages in this thread | | | Date | Tue, 10 Jul 2012 17:16:24 +0530 | From | Raghavendra K T <> | Subject | Re: [PATCH RFC 2/2] kvm PLE handler: Choose better candidate for directed yield |
| |
On 07/10/2012 04:00 AM, Rik van Riel wrote: > 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. >
Thanks for the review. will do more documentation.
| |