Re: [PATCH 1/2] cpufreq: Make iowait boost a policy option

From: Rafael J. Wysocki
Date: Thu May 18 2017 - 21:03:26 EST


On Thu, May 18, 2017 at 8:30 PM, Joel Fernandes <joelaf@xxxxxxxxxx> wrote:
> Make iowait boost a cpufreq policy option and enable it for intel_pstate
> cpufreq driver. Governors like schedutil can use it to determine if
> boosting for tasks that wake up with p->in_iowait set is needed.
>
> Signed-off-by: Joel Fernandes <joelaf@xxxxxxxxxx>
> ---
> drivers/cpufreq/intel_pstate.c | 1 +
> include/linux/cpufreq.h | 3 +++
> 2 files changed, 4 insertions(+)
>
> diff --git a/drivers/cpufreq/intel_pstate.c b/drivers/cpufreq/intel_pstate.c
> index b7de5bd76a31..a3099f099779 100644
> --- a/drivers/cpufreq/intel_pstate.c
> +++ b/drivers/cpufreq/intel_pstate.c
> @@ -2239,6 +2239,7 @@ static int intel_cpufreq_cpu_init(struct cpufreq_policy *policy)
>
> policy->cpuinfo.transition_latency = INTEL_CPUFREQ_TRANSITION_LATENCY;
> policy->transition_delay_us = INTEL_CPUFREQ_TRANSITION_DELAY;
> + policy->iowait_boost_enable = 1;
> /* This reflects the intel_pstate_get_cpu_pstates() setting. */
> policy->cur = policy->cpuinfo.min_freq;
>
> diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h
> index a5ce0bbeadb5..4bb086dbe7ec 100644
> --- a/include/linux/cpufreq.h
> +++ b/include/linux/cpufreq.h
> @@ -127,6 +127,9 @@ struct cpufreq_policy {
> */
> unsigned int transition_delay_us;
>
> + /* Boost switch for tasks with p->in_iowait set */
> + unsigned int iowait_boost_enable;

Could that be a bool field?

> +
> /* Cached frequency lookup from cpufreq_driver_resolve_freq. */
> unsigned int cached_target_freq;
> int cached_resolved_idx;
> --
> 2.13.0.303.g4ebf302169-goog
>

Thanks,
Rafael