* Benjamin Herrenschmidt [2009-12-04 21:00:52]:
> On Fri, 2009-12-04 at 13:45 +0530, Arun R Bharadwaj wrote:
>
> >
> > Hi Ben,
> >
> > I forgot to attach the patch which enables cpuidle for the rest of the
> > POWER platforms. Attaching it be
* Torsten Duwe [2009-12-07 11:17:57]:
> On Sunday 06 December 2009, Arun R Bharadwaj wrote:
>
> > Peter objected to the idea of integrating this with the old pm_idle
> > because it has already caused a lot of problems on x86 and we wouldn't
> > want to be doing t
* Torsten Duwe [2009-12-04 23:20:00]:
> On Wednesday 02 December 2009, Arun R Bharadwaj wrote:
> > * Arun R Bharadwaj [2009-12-02 15:24:27]:
> >
> > This patch cleans up drivers/cpuidle/cpuidle.c
> > Earlier cpuidle assumed pm_idle as the default idle loop. Break that
* Benjamin Herrenschmidt [2009-12-04 13:47:38]:
> On Wed, 2009-12-02 at 15:32 +0530, Arun R Bharadwaj wrote:
> > * Arun R Bharadwaj [2009-12-02 15:24:27]:
> >
> > This patch creates arch/powerpc/platforms/pseries/processor_idle.c,
> > which implements the cpuidle
* Arun R Bharadwaj [2009-12-02 15:33:46]:
Thanks for running checkpatch on the patch Daniel. Will fix this.
arun
___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
* Arun R Bharadwaj [2009-12-02 15:24:27]:
This patch enables default_idle when power_save=off kernel boot
option is specified.
Earlier, this was done by setting ppc_md.power_save = NULL and hence
HMT_low() and HMT_very_low() was called. Now this is defined under
default_idle() and hence by
* Arun R Bharadwaj [2009-12-02 15:24:27]:
This patch creates arch/powerpc/platforms/pseries/processor_idle.c,
which implements the cpuidle infrastructure for pseries.
It implements a pseries_cpuidle_loop() which would be the main idle loop
called from cpu_idle(). It makes decision of entering
* Arun R Bharadwaj [2009-12-02 15:24:27]:
In arch/powerpc/kernel/idle.c create a default_idle() routine by moving
the failover condition of the cpu_idle() idle loop. This is needed by
cpuidle infrastructure to call default_idle when other idle routines
are not yet registered. Functionality
* Arun R Bharadwaj [2009-12-02 15:24:27]:
This patch removes the routines, pseries_shared_idle_sleep and
pseries_dedicated_idle_sleep, since this is implemented as a part
of arch/powerpc/platform/pseries/processor_idle.c
Also, similar to x86, call cpuidle_idle_call from cpu_idle() idle
loop
* Arun R Bharadwaj [2009-12-02 15:24:27]:
This patch enables the cpuidle option in Kconfig for pSeries.
Currently cpuidle infrastructure is enabled only for x86 and ARM.
This code is almost completely borrowed from x86 to enable
cpuidle for pSeries.
Signed-off-by: Arun R Bharadwaj
---
arch
* Arun R Bharadwaj [2009-12-02 15:24:27]:
This patch cleans up x86 of all instances of pm_idle.
pm_idle which was earlier called from cpu_idle() idle loop
is replaced by cpuidle_idle_call.
x86 also registers to cpuidle when the idle routine is selected,
by populating the cpuidle_device data
* Arun R Bharadwaj [2009-12-02 15:24:27]:
Implement a list based registering mechanism for architectures which
have multiple sets of idle routines which are to be registered.
Currently, in x86 it is done by merely setting pm_idle = idle_routine
and managing this pm_idle pointer is messy.
To
* Arun R Bharadwaj [2009-12-02 15:24:27]:
This patch cleans up drivers/cpuidle/cpuidle.c
Earlier cpuidle assumed pm_idle as the default idle loop. Break that
assumption and make it more generic. cpuidle_idle_call() which is the
main idle loop of cpuidle is to be called by architectures which
* Arun R Bharadwaj [2009-12-02 15:24:27]:
This patch adds a little information about the redesigned cpuidle
infrastructure in Documentation/cpuidle/core.txt
Signed-off-by: Arun R Bharadwaj
---
Documentation/cpuidle/core.txt | 35 +++
1 file changed, 35
Hi,
This patchset introduces cpuidle infrastructure to POWER, prototyping
for pSeries, and also does a major refactoring of current x86 idle
power management and a cleanup of cpuidle infrastructure.
This patch series has been in discussion for quite a while now and
below are the links to the prev
* Arun R Bharadwaj [2009-10-16 15:08:50]:
> Hi,
>
> This patchset introduces cpuidle infrastructure to POWER, prototyping
> for pSeries, and also does a major refactoring of current x86 idle
> power management and a cleanup of cpuidle infrastructure.
>
> This pat
* Pavel Machek [2009-10-26 08:58:31]:
>
> > > > +static int local_idle_loop(struct cpuidle_device *dev, struct
> > > > cpuidle_state *st)
> > > > +{
> > > > + ktime_t t1, t2;
> > > > + s64 diff;
> > > > + int ret;
> > > > +
> > > > + t1 = ktime_get();
> > > > + loc
* Pavel Machek [2009-10-23 18:07:11]:
> On Fri 2009-10-16 15:13:08, Arun R Bharadwaj wrote:
> > * Arun R Bharadwaj [2009-10-16 15:08:50]:
> >
> > This patch cleans up x86 of all instances of pm_idle.
> >
> > pm_idle which was earlier called from cpu_id
* Arun R Bharadwaj [2009-10-16 15:08:50]:
This patch enables default_idle when power_save=off kernel boot
option is specified.
Earlier, this was done by setting ppc_md.power_save = NULL and hence
HMT_low() and HMT_very_low() was called. Now this is defined under
default_idle() and hence by
* Arun R Bharadwaj [2009-10-16 15:08:50]:
This patch creates arch/powerpc/platforms/pseries/processor_idle.c,
which implements the cpuidle infrastructure for pseries.
It implements a pseries_cpuidle_loop() which would be the main idle loop
called from cpu_idle(). It makes decision of entering
* Arun R Bharadwaj [2009-10-16 15:08:50]:
In arch/powerpc/kernel/idle.c create a default_idle() routine by moving
the failover condition of the cpu_idle() idle loop. This is needed by
cpuidle infrastructure to call default_idle when other idle routines
are not yet registered. Functionality
* Arun R Bharadwaj [2009-10-16 15:08:50]:
This patch removes the routines, pseries_shared_idle_sleep and
pseries_dedicated_idle_sleep, since this is implemented as a part
of arch/powerpc/platform/pseries/processor_idle.c
Also, similar to x86, call cpuidle_idle_call from cpu_idle() idle
loop
* Arun R Bharadwaj [2009-10-16 15:08:50]:
This patch enables the cpuidle option in Kconfig for pSeries.
Currently cpuidle infrastructure is enabled only for x86 and ARM.
This code is almost completely borrowed from x86 to enable
cpuidle for pSeries.
Signed-off-by: Arun R Bharadwaj
---
arch
* Arun R Bharadwaj [2009-10-16 15:08:50]:
This patch cleans up x86 of all instances of pm_idle.
pm_idle which was earlier called from cpu_idle() idle loop
is replaced by cpuidle_idle_call.
x86 also registers to cpuidle when the idle routine is selected,
by populating the cpuidle_device data
* Arun R Bharadwaj [2009-10-16 15:08:50]:
Implement a list based registering mechanism for architectures which
have multiple sets of idle routines which are to be registered.
Currently, in x86 it is done by merely setting pm_idle = idle_routine
and managing this pm_idle pointer is messy.
To
* Arun R Bharadwaj [2009-10-16 15:08:50]:
This patch cleans up drivers/cpuidle/cpuidle.c
Earlier cpuidle assumed pm_idle as the default idle loop. Break that
assumption and make it more generic. cpuidle_idle_call() which is the
main idle loop of cpuidle is to be called by architectures which
* Arun R Bharadwaj [2009-10-16 15:08:50]:
This patch adds a little information about the redesigned cpuidle
infrastructure in Documentation/cpuidle/core.txt
Signed-off-by: Arun R Bharadwaj
---
Documentation/cpuidle/core.txt | 35 +++
1 file changed, 35
Hi,
This patchset introduces cpuidle infrastructure to POWER, prototyping
for pSeries, and also does a major refactoring of current x86 idle
power management and a cleanup of cpuidle infrastructure.
This patch series has been in discussion for quite a while now and
below are the links to the prev
* Andi Kleen [2009-10-14 09:18:38]:
> > How about something like this..
> > If the arch does not enable CONFIG_CPU_IDLE, the cpuidle_idle_call
> > which is called from cpu_idle() should call default_idle without
> > involving the registering cpuidle steps. This should prevent bloating
> > up of t
* Balbir Singh [2009-10-12 17:06:02]:
> * Arun R B [2009-10-08 15:19:42]:
>
> > * Arun R Bharadwaj [2009-10-08 15:18:28]:
> >
> > This patch cleans up drivers/cpuidle/cpuidle.c
> > Earlier cpuidle assumed pm_idle as the default idle loop. Break that
> >
* Andi Kleen [2009-10-12 20:00:05]:
> Peter Zijlstra writes:
> >
> > So does it make sense to have a set of sets?
> >
> > Why not integrate them all into one set to be ruled by this governor
> > thing?
>
> cpuidle is currently optional, that is why the two level hierarchy
> is there so that you
* Peter Zijlstra [2009-10-08 14:25:37]:
> On Thu, 2009-10-08 at 17:31 +0530, Arun R Bharadwaj wrote:
> >
> > > Uhm, no, it would mean ACPI putting its idle routines on the same level
> > > as all others.
> > >
> >
> > Putting them all on
* Peter Zijlstra [2009-10-08 13:25:10]:
> On Thu, 2009-10-08 at 16:31 +0530, Arun R Bharadwaj wrote:
> > * Peter Zijlstra [2009-10-08 12:50:33]:
> >
> > > On Thu, 2009-10-08 at 16:12 +0530, Arun R Bharadwaj wrote:
> > > >
> > > > > So cpui
* Peter Zijlstra [2009-10-08 12:50:33]:
> On Thu, 2009-10-08 at 16:12 +0530, Arun R Bharadwaj wrote:
> >
> > > So cpuidle didn't already have a list of idle functions it takes an
> > > appropriate one from?
> > >
> >
> > No.. As of now,
* Peter Zijlstra [2009-10-08 12:36:02]:
> On Thu, 2009-10-08 at 15:20 +0530, Arun R Bharadwaj wrote:
> > * Arun R Bharadwaj [2009-10-08 15:18:28]:
> >
> > Implement a list based registering mechanism for architectures which
> > have multiple sets of idle routines
* Arun R Bharadwaj [2009-10-08 15:18:28]:
This patch enables default_idle when power_save=off kernel boot
option is specified.
Earlier, this was done by setting ppc_md.power_save = NULL and hence
HMT_low() and HMT_very_low() was called. Now this is defined under
default_idle() and hence by
* Arun R Bharadwaj [2009-10-08 15:18:28]:
This patch creates arch/powerpc/platforms/pseries/processor_idle.c,
which implements the cpuidle infrastructure for pseries.
It implements a pseries_cpuidle_loop() which would be the main idle loop
called from cpu_idle(). It makes decision of entering
* Arun R Bharadwaj [2009-10-08 15:18:28]:
In arch/powerpc/kernel/idle.c create a default_idle() routine by moving
the failover condition of the cpu_idle() idle loop. This is needed by
cpuidle infrastructure to call default_idle when other idle routines
are not yet registered. Functionality
* Arun R Bharadwaj [2009-10-08 15:18:28]:
This patch removes the routines, pseries_shared_idle_sleep and
pseries_dedicated_idle_sleep, since this is implemented as a part
of arch/powerpc/platform/pseries/processor_idle.c
Also, similar to x86, call cpuidle_idle_call from cpu_idle() idle
loop
* Arun R Bharadwaj [2009-10-08 15:18:28]:
This patch enables the cpuidle option in Kconfig for pSeries.
Currently cpuidle infrastructure is enabled only for x86 and ARM.
This code is almost completely borrowed from x86 to enable
cpuidle for pSeries.
Signed-off-by: Arun R Bharadwaj
---
arch
* Arun R Bharadwaj [2009-10-08 15:18:28]:
This patch cleans up x86 of all instances of pm_idle.
pm_idle which was earlier called from cpu_idle() idle loop
is replaced by cpuidle_idle_call.
x86 also registers to cpuidle when the idle routine is selected,
by populating the cpuidle_device data
* Arun R Bharadwaj [2009-10-08 15:18:28]:
Implement a list based registering mechanism for architectures which
have multiple sets of idle routines which are to be registered.
Currently, in x86 it is done by merely setting pm_idle = idle_routine
and managing this pm_idle pointer is messy.
To
* Arun R Bharadwaj [2009-10-08 15:18:28]:
This patch cleans up drivers/cpuidle/cpuidle.c
Earlier cpuidle assumed pm_idle as the default idle loop. Break that
assumption and make it more generic. cpuidle_idle_call() which is the
main idle loop of cpuidle is to be called by architectures which
Hi
Please consider this for inclusion into the testing tree.
This patchset introduces cpuidle infrastructure to POWER, prototyping
for pSeries, and also does a major refactoring of current x86 idle
power management and a cleanup of cpuidle infrastructure.
Earlier discussions on the same can be f
* Peter Zijlstra [2009-10-07 16:45:50]:
> On Tue, 2009-10-06 at 21:01 +0530, Arun R Bharadwaj wrote:
> > +++ linux.trees.git/arch/x86/kernel/process.c
> > @@ -9,6 +9,7 @@
> > #include
> > #include
> > #include
> > +#include
> > #include
* Peter Zijlstra [2009-10-07 16:45:50]:
> On Tue, 2009-10-06 at 21:01 +0530, Arun R Bharadwaj wrote:
> > +++ linux.trees.git/arch/x86/kernel/process.c
> > @@ -9,6 +9,7 @@
> > #include
> > #include
> > #include
> > +#include
> > #include
* Arun R Bharadwaj [2009-10-06 21:05:22]:
> * Arun R Bharadwaj [2009-10-06 20:54:21]:
Please consider this updated PATCH 7/7 instead of the earlier one.
The earlier one had a late_initcall(pseries_processor_idle_init),
which caused a panic when cpuidle_enable_device() was called f
* Arun R Bharadwaj [2009-10-06 20:54:21]:
> Hi
>
> Please consider this for inclusion into the testing tree.
>
> This patchset introduces cpuidle infrastructure to POWER, prototyping
> for pSeries, and also does a major refactoring of current x86 idle
> power manage
* Arun R Bharadwaj [2009-10-06 20:54:21]:
This patch creates arch/powerpc/platforms/pseries/processor_idle.c,
which implements the cpuidle infrastructure for pseries.
It implements a pseries_cpuidle_loop() which would be the main idle loop
called from cpu_idle(). It makes decision of entering
* Arun R Bharadwaj [2009-10-06 20:54:21]:
In arch/powerpc/kernel/idle.c create a default_idle() routine by moving
the failover condition of the cpu_idle() idle loop. This is needed by
cpuidle infrastructure to call default_idle when other idle routines
are not yet registered. Functionality
* Arun R Bharadwaj [2009-10-06 20:54:21]:
This patch removes the routines, pseries_shared_idle_sleep and
pseries_dedicated_idle_sleep, since this is implemented as a part
of arch/powerpc/platform/pseries/processor_idle.c
Also, similar to x86, call cpuidle_idle_call from cpu_idle() idle
loop
* Arun R Bharadwaj [2009-10-06 20:54:21]:
This patch enables the cpuidle option in Kconfig for pSeries.
Currently cpuidle infrastructure is enabled only for x86 and ARM.
This code is almost completely borrowed from x86 to enable
cpuidle for pSeries.
Signed-off-by: Arun R Bharadwaj
---
arch
* Arun R Bharadwaj [2009-10-06 20:54:21]:
This patch cleans up x86 of all instances of pm_idle.
pm_idle which was earlier called from cpu_idle() idle loop
is replaced by cpuidle_idle_call.
x86 also registers to cpuidle when the idle routine is selected,
by populating the cpuidle_device data
* Arun R Bharadwaj [2009-10-06 20:54:21]:
Implement a list based registering mechanism for architectures which
have multiple sets of idle routines which are to be registered.
Currently, in x86 it is done by merely setting pm_idle = idle_routine
and managing this pm_idle pointer is messy.
To
Hi
Please consider this for inclusion into the testing tree.
This patchset introduces cpuidle infrastructure to POWER, prototyping
for pSeries, and also does a major refactoring of current x86 idle
power management and a cleanup of cpuidle infrastructure.
Earlier discussions on the same can be f
* Arun R Bharadwaj [2009-10-06 20:54:21]:
This patch cleans up drivers/cpuidle/cpuidle.c
Earlier cpuidle assumed pm_idle as the default idle loop. Break that
assumption and make it more generic. cpuidle_idle_call() which is the
main idle loop of cpuidle is to be called by architectures which
* Arun R Bharadwaj [2009-09-22 16:55:27]:
Hi,
I have done the following experiments and have posted the results
below.
Average of 5 iterations
* Arun R Bharadwaj [2009-09-22 16:55:27]:
Hi Len, (or other acpi folks),
I had a question regarding ACPI-cpuidle interaction in the current
implementation.
Currently, every cpu (i.e. acpi_processor) registers to cpuidle as
a cpuidle_device. So every cpu has to go through the process of
setting
* Arun R Bharadwaj [2009-09-22 16:55:27]:
This patch creates arch/powerpc/platforms/pseries/processor_idle.c,
which implements the cpuidle infrastructure for pseries.
It implements a pseries_cpuidle_loop() which would be the main idle loop
called from cpu_idle(). It makes decision of entering
* Arun R Bharadwaj [2009-09-22 16:55:27]:
In arch/powerpc/kernel/idle.c create a default_idle() routine by moving
the failover condition of the cpu_idle() idle loop. This is needed by
cpuidle infrastructure to call default_idle when other idle routines
are not yet registered. Functionality
* Arun R Bharadwaj [2009-09-22 16:55:27]:
This patch removes the routines, pseries_shared_idle_sleep and
pseries_dedicated_idle_sleep, since this is implemented as a part
of arch/powerpc/platform/pseries/processor_idle.c
Also, similar to x86, call cpuidle_idle_call from cpu_idle() idle
loop
* Arun R Bharadwaj [2009-09-22 16:55:27]:
This patch enables the cpuidle option in Kconfig for pSeries.
Currently cpuidle infrastructure is enabled only for x86 and ARM.
This code is almost completely borrowed from x86 to enable
cpuidle for pSeries.
Signed-off-by: Arun R Bharadwaj
---
arch
* Arun R Bharadwaj [2009-09-22 16:55:27]:
This patch cleans up x86 of all instances of pm_idle.
pm_idle which was earlier called from cpu_idle() idle loop
is replaced by cpuidle_idle_call.
x86 also registers to cpuidle when the idle routine is selected,
by populating the cpuidle_device data
* Arun R Bharadwaj [2009-09-22 16:55:27]:
Implement a list based registering mechanism for architectures which
have multiple sets of idle routines which are to be registered.
Currently, in x86 it is done by merely setting pm_idle = idle_routine
and managing this pm_idle pointer is messy.
To
* Arun R Bharadwaj [2009-09-22 16:55:27]:
This patch cleans up drivers/cpuidle/cpuidle.c
Earlier cpuidle assumed pm_idle as the default idle loop. Break that
assumption and make it more generic. cpuidle_idle_call() which is the
main idle loop of cpuidle is to be called by architectures which
Hi,
This patchset introduces cpuidle infrastructure to POWER, prototyping
for pSeries, and also does a major refactoring of current x86 idle
power management and a cleanup of cpuidle infrastructure.
My earlier iterations can be found at:
v5 --> http://lkml.org/lkml/2009/9/22/26
v4 --> http://lkm
* Peter Zijlstra [2009-09-22 09:25:59]:
>
>
> Much better :-)
>
>
> But I'm puzzled by all the per-cpu-ish-ness of the stuff. Why would you
> need to register things on a per-cpu basis?
>
> Also:
>
>
> + list_for_each(pos, &per_cpu(cpuidle_devices_list, cpu)) {
> + temp
* Arun R Bharadwaj [2009-09-22 11:03:14]:
This patch creates arch/powerpc/platforms/pseries/processor_idle.c,
which implements the cpuidle infrastructure for pseries.
It implements a pseries_cpuidle_loop() which would be the main idle loop
called from cpu_idle(). It makes decision of entering
* Arun R Bharadwaj [2009-09-22 11:03:14]:
In arch/powerpc/kernel/idle.c create a default_idle() routine by moving
the failover condition of the cpu_idle() idle loop. This is needed by
cpuidle infrastructure to call default_idle when other idle routines
are not yet registered. Functionality
* Arun R Bharadwaj [2009-09-22 11:03:14]:
This patch removes the routines, pseries_shared_idle_sleep and
pseries_dedicated_idle_sleep, since this is implemented as a part
of arch/powerpc/platform/pseries/processor_idle.c
Also, similar to x86, call cpuidle_idle_call from cpu_idle() idle
loop
* Arun R Bharadwaj [2009-09-22 11:03:14]:
This patch enables the cpuidle option in Kconfig for pSeries.
Currently cpuidle infrastructure is enabled only for x86 and ARM.
Signed-off-by: Arun R Bharadwaj
---
arch/powerpc/Kconfig | 14 ++
1 file changed, 14 insertions(+)
Index
* Arun R Bharadwaj [2009-09-22 11:03:14]:
This patch cleans up x86 of all instances of pm_idle.
pm_idle which was earlier called from cpu_idle() idle loop
is replaced by cpuidle_idle_call.
x86 also registers to cpuidle when the idle routine is selected,
by populating the cpuidle_device data
* Arun R Bharadwaj [2009-09-22 11:03:14]:
Implement a list based registering mechanism for architectures which
have multiple sets of idle routines which are to be registered.
Currently, in x86 it is done by merely setting pm_idle = idle_routine
and managing this pm_idle pointer is messy.
To
* Arun R Bharadwaj [2009-09-22 11:03:14]:
This patch cleans up drivers/cpuidle/cpuidle.c
Earlier cpuidle assumed pm_idle as the default idle loop. Break that
assumption and make it more generic. cpuidle_idle_call() which is the
main idle loop of cpuidle is to be called by architectures which
Hi,
This is an RFC, not for inclusion **
This patchset introduces cpuidle infrastructure to POWER, prototyping
for pSeries, and also does a major refactoring of current x86 idle
power management and a cleanup of cpuidle infrastructure.
My earlier iterations can be found at:
v4
* Peter Zijlstra [2009-09-02 07:42:24]:
> On Tue, 2009-09-01 at 17:08 +0530, Arun R Bharadwaj wrote:
> > * Arun R Bharadwaj [2009-09-01 17:07:04]:
> >
> > Cleanup drivers/cpuidle/cpuidle.c
> >
> > Cpuidle maintains a pm_idle_old void pointer because, currently
* Balbir Singh [2009-09-01 22:58:25]:
> * Arun R B [2009-09-01 17:08:40]:
>
> > * Arun R Bharadwaj [2009-09-01 17:07:04]:
> >
> > Cleanup drivers/cpuidle/cpuidle.c
> >
> > Cpuidle maintains a pm_idle_old void pointer because, currently in x86
> >
* Balbir Singh [2009-09-01 22:58:25]:
> * Arun R B [2009-09-01 17:08:40]:
>
> > * Arun R Bharadwaj [2009-09-01 17:07:04]:
> >
> > Cleanup drivers/cpuidle/cpuidle.c
> >
> > Cpuidle maintains a pm_idle_old void pointer because, currently in x86
> >
* Arun R Bharadwaj [2009-09-01 17:07:04]:
This patch creates arch/powerpc/platforms/pseries/processor_idle.c,
which implements the cpuidle infrastructure for pseries.
It implements a pseries_cpuidle_loop() which would be the main idle loop
called from cpu_idle(). It makes decision of entering
* Arun R Bharadwaj [2009-09-01 17:07:04]:
This patch enables the cpuidle option in Kconfig for pSeries.
Currently cpuidle infrastructure is enabled only for x86 and ARM.
This code is almost completely borrowed from x86 to enable
cpuidle for pSeries.
Signed-off-by: Arun R Bharadwaj
---
arch
* Arun R Bharadwaj [2009-09-01 17:07:04]:
Platform needs to register its idle function via register_idle_function()
in order to provide a clean way of handling the ppc_md.power_save
Signed-off-by: Arun R Bharadwaj
---
arch/powerpc/platforms/pseries/setup.c | 13 +++--
1 file changed
* Arun R Bharadwaj [2009-09-01 17:07:04]:
Implement a LIFO based approach for registering arch dependent
idle routines.
This is a prototype for pseries, needs to be extended
for other platforms.
Signed-off-by: Arun R Bharadwaj
---
arch/powerpc/kernel/idle.c |5 +
drivers/cpuidle
* Arun R Bharadwaj [2009-09-01 17:07:04]:
Cleanup drivers/cpuidle/cpuidle.c
Cpuidle maintains a pm_idle_old void pointer because, currently in x86
there is no clean way of registering and unregistering a idle function.
So remove pm_idle_old and leave the responsibility of maintaining the
list
Hi,
This is an RFC, not for inclusion **
This patchset introduces cpuidle infrastructure to POWER, prototyping
for pseries and currently in the process of porting to x86 and hence
will *not* build on x86/other POWER platforms.
This is to get initial comments on the redesign of m
* Peter Zijlstra [2009-08-27 14:53:27]:
> On Thu, 2009-08-27 at 17:23 +0530, Arun R Bharadwaj wrote:
> > * Arun R Bharadwaj [2009-08-27 17:19:08]:
> >
> > Cpuidle infrastructure assumes pm_idle as the default idle routine.
> > But, ppc_md.power_save is the defau
* Peter Zijlstra [2009-08-27 14:53:27]:
Hi Peter, Ben,
I've put the whole thing in a sort of a block diagram. Hope it
explains things more clearly.
|CPUIDLE | (Select idle states like
* Peter Zijlstra [2009-08-27 14:53:27]:
> On Thu, 2009-08-27 at 17:23 +0530, Arun R Bharadwaj wrote:
> > * Arun R Bharadwaj [2009-08-27 17:19:08]:
> >
> > Cpuidle infrastructure assumes pm_idle as the default idle routine.
> > But, ppc_md.power_save is the defau
* Arun R Bharadwaj [2009-08-27 17:19:08]:
This patch creates arch/powerpc/platforms/pseries/processor_idle.c,
which implements the cpuidle infrastructure for pseries.
It implements a pseries_cpuidle_loop() which would be the main idle loop
called from cpu_idle(). It makes decision of entering
* Arun R Bharadwaj [2009-08-27 17:19:08]:
Set the idle routine to cpuidle_pm_idle after registering cpuidle
devices. Earlier pm_idle was assumed as the defualt idle loop by
cpuidle infrastructure. This is changed to an architecture independent
cpuidle_pm_idle.
There are 2 instances which are
* Arun R Bharadwaj [2009-08-27 17:19:08]:
Cpuidle infrastructure assumes pm_idle as the default idle routine.
But, ppc_md.power_save is the default idle callback in case of pSeries.
So, create a more generic, architecture independent cpuidle_pm_idle
function pointer in driver/cpuidle/cpuidle.c
* Arun R Bharadwaj [2009-08-27 17:19:08]:
This patch enables the cpuidle option in Kconfig for pSeries.
Currently cpuidle infrastructure is enabled only for x86 and ARM.
This code is almost completely borrowed from x86 to enable
cpuidle for pSeries.
Signed-off-by: Arun R Bharadwaj
---
arch
Hi,
Changes from previous iteration:
* Remove the EXPORT_SYMBOL(pm_idle) from
arch/powerpc/platform/pseries/processor_idle.c and introduce a
generic cpuidle_pm_idle in cpuidle.c which was earlier assuming pm_idle
to be the default idle routine. (As suggested by P
* Peter Zijlstra [2009-08-26 13:27:18]:
> On Wed, 2009-08-26 at 16:40 +0530, Arun R Bharadwaj wrote:
> > +void (*pm_idle)(void);
> > +EXPORT_SYMBOL_GPL(pm_idle);
>
> Seriously.. this caused plenty problems over on x86 and you're doing the
> exact same dumb thing?
&
* Arun R Bharadwaj [2009-08-26 16:37:21]:
This patch creates arch/powerpc/platforms/pseries/processor_idle.c,
which implements the cpuidle infrastructure for pseries.
It implements a pseries_cpuidle_loop() which would be the main idle loop
called from cpu_idle(). It makes decision of entering
* Arun R Bharadwaj [2009-08-26 16:37:21]:
This patch enables the cpuidle option in Kconfig for pSeries.
Currently cpuidle infrastructure is enabled only for x86.
This code is almost completely borrowed from x86 to enable
cpuidle for pSeries.
Signed-off-by: Arun R Bharadwaj
---
arch/powerpc
Hi,
"Cpuidle" is a CPU Power Management infrastrusture which helps manage
idle CPUs in a clean and efficient manner. The architecture can register
its driver (in this case, pseries_idle driver) so that it subscribes for
cpuidle feature. Cpuidle has a set of governors (ladder and menu),
which wil
* Arun R Bharadwaj [2009-08-19 18:27:16]:
This patch creates the Thermal & Power Management Devices module, tpmd_idle
which implements the cpuidle infrasture for pseries.
It implements a tpmd_idle_loop() which would be the main idle loop called
from cpu_idle(). It makes decision of ente
* Arun R Bharadwaj [2009-08-19 18:27:16]:
This patch enables the cpuidle option in Kconfig for pSeries.
It also adds the routine cpu_idle_wait.
Signed-off-by: Arun R Bharadwaj
---
arch/powerpc/Kconfig | 18 ++
arch/powerpc/include/asm/system.h |2
Hi,
RFC not for inclusion
"Cpuidle" is a CPU Power Management infrastrusture which helps manage
idle CPUs in a clean and efficient manner. The architecture can register
its driver (in this case, tpmd_idle driver) so that it subscribes for
cpuidle feature. Cpuidle has a set of governors
99 matches
Mail list logo