All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: "Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Lists linaro-kernel <linaro-kernel@lists.linaro.org>,
	"cpufreq@vger.kernel.org" <cpufreq@vger.kernel.org>,
	"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Pierre Ossman <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:29:53 +0530	[thread overview]
Message-ID: <5301CF89.5070803@linux.vnet.ibm.com> (raw)
In-Reply-To: <CAKohpom1DUOMBt6iAVcoQ5+DAXUgjSPGWaqpp6Jm=Vo+YExCFA@mail.gmail.com>

On 02/17/2014 02:24 PM, Viresh Kumar wrote:
> On 17 February 2014 14:13, Srivatsa S. Bhat
> <srivatsa.bhat@linux.vnet.ibm.com> wrote:
>> 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)..
> 
> Its not the wording that is wrong but this particular driver then :)
> This is what Documentation/cpu-drivers.txt says:
> 
> 1.2 Per-CPU Initialization
> Then, the driver must fill in the following values:
> 
> policy->cur The current operating frequency of
> this CPU (if appropriate)
> 
> And so it is supposed to do it.
>

Ah, I see.
 
>> 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         }
> 
> Its just about removing that from drivers and doing it once in core :)
>

Ok..

Regards,
Srivatsa S. Bhat


  reply	other threads:[~2014-02-17  8:59 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
2014-02-17  8:54     ` Viresh Kumar
2014-02-17  8:59       ` Srivatsa S. Bhat [this message]
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=5301CF89.5070803@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.