Re: [PATCH 4/5] intel_pstate: skip scheduler hook when in "performance" mode.

From: Rafael J. Wysocki
Date: Fri Jun 16 2017 - 20:12:24 EST


On Wednesday, June 07, 2017 07:39:15 PM Len Brown wrote:
> From: Len Brown <len.brown@xxxxxxxxx>
>
> When the governor is set to "performance", intel_pstate does not
> need the scheduler hook for doing any calculations. Under these
> conditions, its only purpose is to continue to maintain
> cpufreq/scaling_cur_freq.
>
> But the cpufreq/scaling_cur_freq sysfs attribute is now provided by
> the x86 cpufreq core on all modern x86 systems, including
> all systems supported by the intel_pstate driver.
>
> So in "performance" governor mode, the scheduler hook can be skipped.
> This applies to both in Software and Hardware P-state control modes.
>
> Suggested-by: Srinivas Pandruvada <srinivas.pandruvada@xxxxxxxxxxxxxxx>
> Signed-off-by: Len Brown <len.brown@xxxxxxxxx>
> ---
> drivers/cpufreq/intel_pstate.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index 5d67780..0ff3a4b 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -2025,10 +2025,10 @@ static int intel_pstate_set_policy(struct cpufreq_policy *policy)
> */
> intel_pstate_clear_update_util_hook(policy->cpu);

The statement above shouldn't be necessary any more after the change below.

> intel_pstate_max_within_limits(cpu);
> + } else {
> + intel_pstate_set_update_util_hook(policy->cpu);
> }
>
> - intel_pstate_set_update_util_hook(policy->cpu);
> -
> if (hwp_active)
> intel_pstate_hwp_set(policy->cpu);
>
>

What about update_turbo_pstate()?

In theory MSR_IA32_MISC_ENABLE_TURBO_DISABLE can be set at any time, so
wouldn't that become problematic after this change?

Thanks,
Rafael