From: Preeti U Murthy <preeti@linux.vnet.ibm.com>
To: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Lists linaro-kernel <linaro-kernel@lists.linaro.org>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
"Rafael J. Wysocki" <rjw@rjwysocki.net>,
LKML <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@redhat.com>,
Thomas Gleixner <tglx@linutronix.de>,
linuxppc-dev@lists.ozlabs.org,
Linux ARM Kernel ML <linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH 1/2] PPC: powernv: remove redundant cpuidle_idle_call()
Date: Fri, 07 Feb 2014 10:57:15 +0530 [thread overview]
Message-ID: <52F46EB3.5080403@linux.vnet.ibm.com> (raw)
In-Reply-To: <alpine.LFD.2.11.1402070105170.1906@knanqh.ubzr>
Hi Nicolas,
On 02/07/2014 06:47 AM, Nicolas Pitre wrote:
> On Thu, 6 Feb 2014, Preeti U Murthy wrote:
>
>> Hi Daniel,
>>
>> On 02/06/2014 09:55 PM, Daniel Lezcano wrote:
>>> Hi Nico,
>>>
>>>
>>> On 6 February 2014 14:16, Nicolas Pitre <nicolas.pitre@linaro.org> wrote:
>>>
>>>> The core idle loop now takes care of it.
>>>>
>>>> Signed-off-by: Nicolas Pitre <nico@linaro.org>
>>>> ---
>>>> arch/powerpc/platforms/powernv/setup.c | 13 +------------
>>>> 1 file changed, 1 insertion(+), 12 deletions(-)
>>>>
>>>> diff --git a/arch/powerpc/platforms/powernv/setup.c
>>>> b/arch/powerpc/platforms/powernv/setup.c
>>>> index 21166f65c9..a932feb290 100644
>>>> --- a/arch/powerpc/platforms/powernv/setup.c
>>>> +++ b/arch/powerpc/platforms/powernv/setup.c
>>>> @@ -26,7 +26,6 @@
>>>> #include <linux/of_fdt.h>
>>>> #include <linux/interrupt.h>
>>>> #include <linux/bug.h>
>>>> -#include <linux/cpuidle.h>
>>>>
>>>> #include <asm/machdep.h>
>>>> #include <asm/firmware.h>
>>>> @@ -217,16 +216,6 @@ static int __init pnv_probe(void)
>>>> return 1;
>>>> }
>>>>
>>>> -void powernv_idle(void)
>>>> -{
>>>> - /* Hook to cpuidle framework if available, else
>>>> - * call on default platform idle code
>>>> - */
>>>> - if (cpuidle_idle_call()) {
>>>> - power7_idle();
>>>> - }
>>>>
>>>
>>> The cpuidle_idle_call is called from arch_cpu_idle in
>>> arch/powerpc/kernel/idle.c between a ppc64_runlatch_off|on section.
>>> Shouldn't the cpuidle-powernv driver call these functions when entering
>>> idle ?
>>
>> Yes they should, I will send out a patch that does that ontop of this.
>> There have been cpuidle driver cleanups for powernv and pseries in this
>> merge window. While no change would be required in the pseries cpuidle
>> driver as a result of Nicolas's cleanup, we would need to add the
>> ppc64_runlatch_on and off functions before and after the entry into the
>> powernv idle states.
>
> What about creating arch_cpu_idle_enter() and arch_cpu_idle_exit() in
> arch/powerpc/kernel/idle.c and calling ppc64_runlatch_off() and
> ppc64_runlatch_on() respectively from there instead? Would that work?
> That would make the idle consolidation much easier afterwards.
I would not suggest doing this. The ppc64_runlatch_*() routines need to
be called when we are sure that the cpu is about to enter or has exit an
idle state. Moving the ppc64_runlatch_on() routine to
arch_cpu_idle_enter() for instance is not a good idea because there are
places where the cpu can decide not to enter any idle state before the
call to cpuidle_idle_call() itself. In that case communicating
prematurely that we are in an idle state would not be a good idea.
So its best to add the ppc64_runlatch_* calls in the powernv cpuidle
driver IMO. We could however create idle_loop_prologue/epilogue()
variants inside it so that in addition to the runlatch routines we could
potentially add more such similar routines that are powernv specific.
If there are cases where there is work to be done prior to and post an
entry into an idle state common to both pseries and powernv, we will
probably put them in arch_cpu_idle_enter/exit(). But the runlatch
routines are not suitable to be moved there as far as I can see.
Thank you
Regards
Preeti U Murthy
>
>
> Nicolas
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
next prev parent reply other threads:[~2014-02-07 5:31 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-06 14:16 [PATCH 1/2] PPC: powernv: remove redundant cpuidle_idle_call() Nicolas Pitre
2014-02-06 14:16 ` [PATCH 2/2] ARM64: " Nicolas Pitre
2014-02-06 14:20 ` Thomas Gleixner
2014-02-06 15:59 ` Preeti U Murthy
2014-02-06 16:09 ` Nicolas Pitre
2014-02-06 16:20 ` Daniel Lezcano
2014-02-07 9:50 ` Catalin Marinas
2014-02-06 14:20 ` [PATCH 1/2] PPC: " Thomas Gleixner
2014-02-06 15:56 ` Preeti U Murthy
2014-02-06 16:25 ` Daniel Lezcano
2014-02-06 16:49 ` Preeti U Murthy
2014-02-07 1:17 ` Nicolas Pitre
2014-02-07 5:27 ` Preeti U Murthy [this message]
2014-02-07 10:48 ` Nicolas Pitre
2014-02-07 11:41 ` Preeti U Murthy
2014-02-07 12:41 ` Peter Zijlstra
2014-02-10 3:45 ` Preeti U Murthy
2014-02-07 7:01 ` Preeti U Murthy
2014-02-07 9:45 ` Deepthi Dharwar
2014-02-07 11:00 ` Preeti U Murthy
2014-02-14 11:17 ` Preeti U Murthy
2014-02-14 11:25 ` Deepthi Dharwar
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=52F46EB3.5080403@linux.vnet.ibm.com \
--to=preeti@linux.vnet.ibm.com \
--cc=daniel.lezcano@linaro.org \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mingo@redhat.com \
--cc=nicolas.pitre@linaro.org \
--cc=peterz@infradead.org \
--cc=rjw@rjwysocki.net \
--cc=tglx@linutronix.de \
/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).