Re: [PATCH v2 2/5] KVM: VMX: Remove ple_window_actual_max

From: Radim KrÄmÃÅ
Date: Wed Mar 28 2018 - 16:25:09 EST


2018-03-16 16:37-0400, Babu Moger:
> Get rid of ple_window_actual_max, because its benefits are really
> minuscule and the logic is complicated.
>
> The overflows(and underflow) are controlled in __ple_window_grow
> and _ple_window_shrink respectively.
>
> Suggested-by: Radim KrÄmÃÅ <rkrcmar@xxxxxxxxxx>
> Signed-off-by: Babu Moger <babu.moger@xxxxxxx>
> ---
> arch/x86/kvm/vmx.c | 22 +---------------------
> 1 file changed, 1 insertion(+), 21 deletions(-)
>
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> @@ -178,7 +178,6 @@
> module_param(ple_window_shrink, uint, 0444);
>
> /* Default is to compute the maximum so we can never overflow. */
> -static uint ple_window_actual_max = KVM_VMX_DEFAULT_PLE_WINDOW_MAX;
> static uint ple_window_max = KVM_VMX_DEFAULT_PLE_WINDOW_MAX;
> module_param(ple_window_max, uint, 0444);
>
> @@ -6645,14 +6644,12 @@ static uint __grow_ple_window(uint val)
> if (ple_window_grow < 1)
> return ple_window;
>
> - val = min(val, ple_window_actual_max);
> -
> if (ple_window_grow < ple_window)
> val *= ple_window_grow;
> else
> val += ple_window_grow;
>
> - return val;
> + return min(val, ple_window_max);

I added a bit of logic to avoid wraparounds.