lkml.org 
[lkml]   [2012]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RFC 2/2] kvm PLE handler: Choose better candidate for directed yield
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


\
 
 \ /
  Last update: 2012-07-10 01:01    [from the cache]
©2003-2011 Jasper Spaans