linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
To: Viresh Kumar <viresh.kumar@linaro.org>
Cc: rjw@sisk.pl, toralf.foerster@gmx.de, robert.jarzmik@intel.com,
	durgadoss.r@intel.com, tianyu.lan@intel.com,
	lantianyu1986@gmail.com, dirk.brandewie@gmail.com,
	stern@rowland.harvard.edu, linux-pm@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/8] cpufreq: Fix misplaced call to cpufreq_update_policy()
Date: Mon, 15 Jul 2013 11:50:24 +0530	[thread overview]
Message-ID: <51E394A8.1030001@linux.vnet.ibm.com> (raw)
In-Reply-To: <CAKohpo=DNhKTGdectgyWLW3XkfDOAiEhJ=hi+zW=6G6fWShybg@mail.gmail.com>

On 07/12/2013 12:36 PM, Viresh Kumar wrote:
> On 12 July 2013 03:45, Srivatsa S. Bhat
> <srivatsa.bhat@linux.vnet.ibm.com> wrote:
>> The call to cpufreq_update_policy() is placed in the CPU hotplug callback
>> of cpufreq_stats, which has a higher priority than the CPU hotplug callback
>> of cpufreq-core. As a result, during CPU_ONLINE/CPU_ONLINE_FROZEN, we end up
>> calling cpufreq_update_policy() *before* calling cpufreq_add_dev() !
>> And for uninitialized CPUs, it just returns silently, not doing anything.
> 
> Hmm..
> 
>> To add to it, cpufreq_stats is not even the right place to call
>> cpufreq_update_policy() to begin with. The cpufreq core ought to handle
>> this in its own callback, from an elegance/relevance perspective.
>>
>> So move the invocation of cpufreq_update_policy() to cpufreq_cpu_callback,
>> and place it *after* cpufreq_add_dev().
>>
>> Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
>> ---
>>
>>  drivers/cpufreq/cpufreq.c       |    1 +
>>  drivers/cpufreq/cpufreq_stats.c |    6 ------
>>  2 files changed, 1 insertion(+), 6 deletions(-)
>>
>> diff --git a/drivers/cpufreq/cpufreq.c b/drivers/cpufreq/cpufreq.c
>> index ccc6eab..f8c3100 100644
>> --- a/drivers/cpufreq/cpufreq.c
>> +++ b/drivers/cpufreq/cpufreq.c
>> @@ -1943,6 +1943,7 @@ static int __cpuinit cpufreq_cpu_callback(struct notifier_block *nfb,
>>                 case CPU_ONLINE:
>>                 case CPU_ONLINE_FROZEN:
>>                         cpufreq_add_dev(dev, NULL);
>> +                       cpufreq_update_policy(cpu);
> 
> Do we need to call this for every hotplug of cpu? I am not
> talking about suspend/resume here.
> 

I don't think we need to, but I think it would be better to postpone
optimizations until all the cpufreq regressions get fixed. Later perhaps
we could revisit these minor optimizations if desired.

Regards,
Srivatsa S. Bhat


  reply	other threads:[~2013-07-15  6:23 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-11 22:15 [PATCH 0/8] Cpufreq, cpu hotplug, suspend/resume related fixes Srivatsa S. Bhat
2013-07-11 22:15 ` [PATCH 1/8] cpufreq: Revert commit a66b2e to fix cpufreq regression during suspend/resume Srivatsa S. Bhat
2013-07-12  7:18   ` Viresh Kumar
2013-07-13 12:46     ` Paul Bolle
2013-07-15  6:18       ` Srivatsa S. Bhat
2013-07-11 22:15 ` [PATCH 2/8] cpufreq: Fix misplaced call to cpufreq_update_policy() Srivatsa S. Bhat
2013-07-12  7:06   ` Viresh Kumar
2013-07-15  6:20     ` Srivatsa S. Bhat [this message]
2013-07-15 11:37       ` Rafael J. Wysocki
2013-07-11 22:16 ` [PATCH 3/8] cpufreq: Add helper to perform alloc/free of policy structure Srivatsa S. Bhat
2013-07-12  7:09   ` Viresh Kumar
2013-07-15  6:24     ` Srivatsa S. Bhat
2013-07-11 22:16 ` [PATCH 4/8] cpufreq: Extract non-interface related stuff from cpufreq_add_dev_interface Srivatsa S. Bhat
2013-07-12  7:17   ` Viresh Kumar
2013-07-11 22:16 ` [PATCH 5/8] cpufreq: Extract the handover of policy cpu to a helper function Srivatsa S. Bhat
2013-07-12  7:19   ` Viresh Kumar
2013-07-11 22:16 ` [PATCH 6/8] cpufreq: Introduce a flag ('frozen') to separate full vs temporary init/teardown Srivatsa S. Bhat
2013-07-12  7:31   ` Viresh Kumar
2013-07-11 22:17 ` [PATCH 7/8] cpufreq: Preserve policy structure across suspend/resume Srivatsa S. Bhat
2013-07-15  9:55   ` Viresh Kumar
2013-07-15 10:05     ` Srivatsa S. Bhat
2013-07-15 10:21       ` Viresh Kumar
2013-07-15 11:52         ` Srivatsa S. Bhat
2013-07-15 11:35       ` Rafael J. Wysocki
2013-07-15 11:53         ` Srivatsa S. Bhat
2013-07-16  6:15       ` Viresh Kumar
2013-07-16  8:56         ` Srivatsa S. Bhat
2013-07-16  9:10           ` Viresh Kumar
2013-07-16  9:29             ` Srivatsa S. Bhat
2013-07-16  9:35               ` Viresh Kumar
2013-07-16  9:54                 ` Srivatsa S. Bhat
2013-07-11 22:17 ` [PATCH 8/8] cpufreq: Perform light-weight init/teardown during suspend/resume Srivatsa S. Bhat
2013-07-11 22:25 ` [PATCH 0/8] Cpufreq, cpu hotplug, suspend/resume related fixes Jarzmik, Robert
2013-07-11 22:33 ` Rafael J. Wysocki
2013-07-11 22:23   ` Srivatsa S. Bhat
2013-07-16 15:15     ` Toralf Förster
2013-07-16 21:32       ` Rafael J. Wysocki
2013-07-17  5:03         ` Srivatsa S. Bhat
2013-07-17 15:27         ` Toralf Förster
2013-07-17 15:49           ` Srivatsa S. Bhat
2013-07-21  8:43             ` Srivatsa S. Bhat
2013-07-21  9:40               ` Toralf Förster
2013-07-21 10:38                 ` Srivatsa S. Bhat
2013-07-21 12:59               ` Rafael J. Wysocki
2013-07-15 17:38   ` Toralf Förster
2013-07-15 23:25     ` Rafael J. Wysocki
2013-07-13  9:23 ` Toralf Förster
2013-07-13 13:50   ` Toralf Förster
2013-07-15  6:40     ` Srivatsa S. Bhat
2013-07-15  8:27 ` Lan Tianyu
2013-07-15  8:43   ` Srivatsa S. Bhat

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=51E394A8.1030001@linux.vnet.ibm.com \
    --to=srivatsa.bhat@linux.vnet.ibm.com \
    --cc=dirk.brandewie@gmail.com \
    --cc=durgadoss.r@intel.com \
    --cc=lantianyu1986@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=robert.jarzmik@intel.com \
    --cc=stern@rowland.harvard.edu \
    --cc=tianyu.lan@intel.com \
    --cc=toralf.foerster@gmx.de \
    --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;
as well as URLs for NNTP newsgroup(s).