From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: rjw@rjwysocki.net, linaro-kernel@lists.linaro.org,
cpufreq@vger.kernel.org, linux-pm@vger.kernel.org,
linux-kernel@vger.kernel.org, pierre-list@ossman.eu
Subject: Re: [PATCH 2/2] cpufreq: don't call cpufreq_update_policy() on CPU addition
Date: Mon, 17 Feb 2014 14:13:26 +0530 [thread overview]
Message-ID: <5301CBAE.3000102@linux.vnet.ibm.com> (raw)
In-Reply-To: <8f2fc4d6240b567fdb69a0b47f073d174b7ef9b2.1392375504.git.viresh.kumar@linaro.org>
On 02/14/2014 04:30 PM, Viresh Kumar wrote:
> cpufreq_update_policy() is called from two places currently. From a workqueue
> handled queued from cpufreq_bp_resume() for boot CPU and from
> cpufreq_cpu_callback() whenever a CPU is added.
>
> The first one makes sure that boot CPU is running on the frequency present in
> policy->cpu. But we don't really need a call from cpufreq_cpu_callback(),
> because we always call cpufreq_driver->init() (which will set policy->cur
> correctly) whenever first CPU of any policy is added back. And so every policy
> structure is guaranteed to have the right frequency in policy->cur.
>
This wording is slightly inaccurate. ->init() may or may not set policy->cur
(for example, powernowk8 driver doesn't set it in the init routine)..
But we set it for sure in __cpufreq_add_dev():
1117 if (cpufreq_driver->get) {
1118 policy->cur = cpufreq_driver->get(policy->cpu);
1119 if (!policy->cur) {
1120 pr_err("%s: ->get() failed\n", __func__);
1121 goto err_get_freq;
1122 }
1123 }
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
The reasoning and the code looks good to me.
Reviewed-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Regards,
Srivatsa S. Bhat
> ---
> drivers/cpufreq/cpufreq.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
> index 383362b..b6eb4ed 100644
> --- a/drivers/cpufreq/cpufreq.c
> +++ b/drivers/cpufreq/cpufreq.c
> @@ -2194,7 +2194,6 @@ static int cpufreq_cpu_callback(struct notifier_block *nfb,
> switch (action & ~CPU_TASKS_FROZEN) {
> case CPU_ONLINE:
> __cpufreq_add_dev(dev, NULL, frozen);
> - cpufreq_update_policy(cpu);
> break;
>
> case CPU_DOWN_PREPARE:
>
next prev parent reply other threads:[~2014-02-17 8:43 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-14 11:00 [PATCH 1/2] cpufreq: Return error if ->get() failed in cpufreq_update_policy() Viresh Kumar
2014-02-14 11:00 ` [PATCH 2/2] cpufreq: don't call cpufreq_update_policy() on CPU addition Viresh Kumar
2014-02-17 0:21 ` Rafael J. Wysocki
2014-02-17 5:15 ` Viresh Kumar
2014-02-17 22:22 ` Rafael J. Wysocki
2014-02-17 8:43 ` Srivatsa S. Bhat [this message]
2014-02-17 8:54 ` Viresh Kumar
2014-02-17 8:59 ` Srivatsa S. Bhat
2014-02-17 0:28 ` [PATCH 1/2] cpufreq: Return error if ->get() failed in cpufreq_update_policy() Rafael J. Wysocki
2014-02-17 5:14 ` Viresh Kumar
2014-02-17 8:19 ` Srivatsa S. Bhat
2014-02-17 8:39 ` Viresh Kumar
2014-02-17 8:55 ` Srivatsa S. Bhat
2014-02-17 9:10 ` Viresh Kumar
2014-02-17 22:00 ` Rafael J. Wysocki
2014-02-18 2:19 ` Viresh Kumar
2014-02-25 4:41 ` Viresh Kumar
2014-02-25 5:53 ` Srivatsa S. Bhat
2014-02-25 6:08 ` Viresh Kumar
2014-02-25 13:10 ` Rafael J. Wysocki
2014-02-25 14:42 ` Viresh Kumar
2014-02-25 22:29 ` Rafael J. Wysocki
2014-02-26 5:15 ` Viresh Kumar
2014-03-10 5:37 ` Viresh Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5301CBAE.3000102@linux.vnet.ibm.com \
--to=srivatsa.bhat@linux.vnet.ibm.com \
--cc=cpufreq@vger.kernel.org \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=pierre-list@ossman.eu \
--cc=rjw@rjwysocki.net \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.