Messages in this thread | | | Date | Tue, 1 Sep 2009 17:07:04 +0530 | From | Arun R Bharadwaj <> | Subject | [v4 PATCH 0/5]: cpuidle/POWER (REDISIGN): Introducing cpuidle to POWER. |
| |
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 my earlier implementation which can be found at http://lkml.org/lkml/2009/8/27/124
Major changes from last iteration: ----------------------------------
* Cleanup drivers/cpuidle/cpuidle.c Currently, the cpuidle implementation has weakness in the framework where an exported pm_idle function pointer is manipulated by various subsystem. The proposed framework has a registration architecture to cleanly add and remove new idle routines from different subsystems.
* Introduce [un]register_idle_function() routines Implement a LIFO based approach for registering architecture dependent idle routines.
* Sample implementation of register_idle_function for pSeries
TODO: -----
* Extend this prototype to cover x86 and other archs that use cpuidle. Currently, in x86, the cpu_idle() idle loop doesn't have a default idle loop to fall back to if pm_idle is NULL, unlike the corresponding implementation in pseries, where ppc_md.power_save can be NULL and there is a fallback. So we need to create a similar fork in cpu_idle() idle loop of x86.
Patches included in this series: --------------------------------
1/5 - Cleanup drivers/cpuidle/cpuidle.c 2/5 - Implement routines to register and unregister idle function. 3/5 - Incorporate registering of idle loop for pSeries. 4/5 - Add Kconfig entry to enable cpuidle for POWER. 5/5 - Implement pSeries processor idle module.
Any comments on the design is welcome.
--arun
| |