2014-08-21 10:26+0200, Paolo Bonzini: > Il 20/08/2014 22:53, Radim Krčmář ha scritto: > > +static int __shrink_ple_window(int val, int shrinker, int minimum) > > s/shrinker/factor/ or s/shrinker/param/ (shrinker has another meaning in > the kernel). True, thanks. > > +{ > > + if (shrinker < 1) > > + return ple_window; > > + > > + if (shrinker < ple_window) > > + val /= shrinker; > > + else > > + val -= shrinker; > > + > > + return max(val, minimum); > > Any reason to use anything but ple_window as the minimum, even in > update_ple_window_actual_max? ple_window_actual_max needs to be one grow below the ple_window_max, so it can be lower than ple_window. > > +} > > + > > +static void modify_ple_window(struct kvm_vcpu *vcpu, int grow) > > +{ > > + struct vcpu_vmx *vmx = to_vmx(vcpu); > > + int new; > > + > > + if (grow) > > + new = __grow_ple_window(vmx->ple_window); > > + else > > + new = __shrink_ple_window(vmx->ple_window, ple_window_shrink, > > + ple_window); > > + > > + vmx->ple_window = max(new, ple_window); > > +} > > +#define grow_ple_window(vcpu) modify_ple_window(vcpu, 1) > > +#define shrink_ple_window(vcpu) modify_ple_window(vcpu, 0) > > No macros please. :) Guity as charged. Using 0/1 or true/false in this context directly would be pretty bad ... Is enum fine? (SHIRINK_PLE_WINDOW, GROW_PLE_WINDOW?) (I can always make it into function pointers ;) -- 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