Re: [PATCH 1/3] cpufreq: Manage only online cpus

Rafael J. Wysocki
2013-01-11T22:43:52Z

On Sunday, December 16, 2012 11:20:08 AM Viresh Kumar wrote:
> cpufreq core doesn't manage offline cpus and if driver->init() has returned
> mask including offline cpus, it may result in unwanted behavior by cpufreq core
> or governors.
>
> We need to get only online cpus in this mask. There are two places to fix this
> mask, cpufreq core and cpufreq driver. It makes sense to do this at common place
> and hence is done in core.

Applied to the linux-next branch of the linux-pm.git tree as v3.9 material.

Thanks,
Rafael

> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> drivers/cpufreq/cpufreq.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index 1f93dbd..de99517 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -970,6 +970,13 @@ static int cpufreq_add_dev(struct device *dev, struct subsys_interface *sif)
> pr_debug("initialization failed\n");
> goto err_unlock_policy;
> }
> +
> + /*
> + * affected cpus must always be the one, which are online. We aren't
> + * managing offline cpus here.
> + */
> + cpumask_and(policy->cpus, policy->cpus, cpu_online_mask);
> +
> policy->user_policy.min = policy->min;
> policy->user_policy.max = policy->max;
>
>
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.