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
next prev parent 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