public inbox for cpufreq@vger.kernel.org
 help / color / mirror / Atom feed
From: Dirk Brandewie <dirk.brandewie@gmail.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: dirk.brandewie@gmail.com, linux-kernel@vger.kernel.org,
	cpufreq@vger.kernel.org,
	Dirk Brandewie <dirk.j.brandewie@intel.com>
Subject: Re: [PATCH 3/7] cpufreq: Only query drivers that implement cpufreq_driver.target()
Date: Tue, 05 Feb 2013 18:06:32 -0800	[thread overview]
Message-ID: <5111BAA8.5050101@gmail.com> (raw)
In-Reply-To: <CAOh2x=nXQrgwm2Jw88GjQe-fjpJrK+cjTWd-vK377UEBeXGu3w@mail.gmail.com>

On 02/05/2013 05:47 PM, Viresh Kumar wrote:
> On Tue, Feb 5, 2013 at 11:54 PM,  <dirk.brandewie@gmail.com> wrote:
>> From: Dirk Brandewie <dirk.brandewie@gmail.com>
>>
>> Scaling drivers that implement cpufreq_driver.setpolicy() have
>> internal governors and may/will change the current operating frequency
>> very frequently this will cause cpufreq_out_of_sync() to be called
>> every time. Only call cpufreq_driver.get() for drivers that implement
>> cpufreq_driver.target()
>>
>> Signed-off-by: Dirk Brandewie <dirk.j.brandewie@intel.com>
>> ---
>>   drivers/cpufreq/cpufreq.c |    2 +-
>>   1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
>> index 96bc302..d8daa4b 100644
>> --- a/drivers/cpufreq/cpufreq.c
>> +++ b/drivers/cpufreq/cpufreq.c
>> @@ -1787,7 +1787,7 @@ int cpufreq_update_policy(unsigned int cpu)
>>
>>          /* BIOS might change freq behind our back
>>            -> ask driver for current freq and notify governors about a change */
>> -       if (cpufreq_driver->get) {
>> +       if (cpufreq_driver->get && cpufreq_driver->target) {
>>                  policy.cur = cpufreq_driver->get(cpu);
>>                  if (!data->cur) {
>>                          pr_debug("Driver did not initialize current freq");
>
> I am really not liking copy-pasting my older comments here :(
>
> "This would mean policy->cur has a garbage value. I don't really know
> how would other routine behave on this. Would it make sense to make
> policy->cur zero atleast?
> "
>
The driver implements get() and will return a valid value but the other 
components that track the current frequency will not have been notified about 
any change so there is nothing to be out of sync with.  There is no reason to 
call cpufreq_out_of_sync() where the driver being used implements an internal
governor.

--Dirk


  reply	other threads:[~2013-02-06  2:06 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-05 18:23 [PATCH 0/7] Add P state driver for Intel Core Processors dirk.brandewie
2013-02-05 18:24 ` [PATCH 1/7] cpufreq: Don't remove sysfs link for policy->cpu dirk.brandewie
2013-02-06  1:42   ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 2/7] cpufreq: Retrieve current frequency from scaling drivers with internal governors dirk.brandewie
2013-02-06  1:41   ` Viresh Kumar
2013-02-06  1:45   ` Viresh Kumar
2013-02-06  2:15     ` Dirk Brandewie
2013-02-06  2:25       ` Viresh Kumar
2013-02-06  2:31         ` Dirk Brandewie
2013-02-06  2:46           ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 3/7] cpufreq: Only query drivers that implement cpufreq_driver.target() dirk.brandewie
2013-02-06  1:47   ` Viresh Kumar
2013-02-06  2:06     ` Dirk Brandewie [this message]
2013-02-06  2:43       ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 4/7] cpufreq: Do not track governor name for scaling drivers with internal governors dirk.brandewie
2013-02-06  1:50   ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 5/7] cpufreq: balance out cpufreq_cpu_{get,put} for scaling drivers using setpolicy dirk.brandewie
2013-02-06  1:58   ` Viresh Kumar
2013-02-06  2:08     ` Dirk Brandewie
2013-02-06  2:45       ` Viresh Kumar
2013-02-06 16:11         ` Dirk Brandewie
2013-02-06 16:19           ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 6/7] cpufreq_stats: do not remove sysfs files if frequency table is not present dirk.brandewie
2013-02-06  2:18   ` Viresh Kumar
2013-02-05 18:24 ` [PATCH 7/7] cpufreq/x86: Add P-state driver for sandy bridge dirk.brandewie

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=5111BAA8.5050101@gmail.com \
    --to=dirk.brandewie@gmail.com \
    --cc=cpufreq@vger.kernel.org \
    --cc=dirk.j.brandewie@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox