[lkml]   [2011]   [Feb]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[RFC PATCH V3 0/3] cpuidle: Cleanup pm_idle and include driver/cpuidle.c in-kernel
V2 did not support architectures other than x86 that use pm_idle.
With this patch, architectures that use pm_idle (other than x86) can
continue to do so and co-exist. They can be incrementally converted
to directly call into cpuidle instead of pm_idle pointer.

Changes in V3:

* Re-arranged code in driver/cpuidle.c to allow non-x86 architectures
to continue to use pm-idle pointer until cpuidle.c is included into
the kernel for those architectures.

* This patch series tries to maintain pm_idle pointer for non-x86
archs so that the interface does not change at this point. These
archs can continue to set pm_idle=cpuidle_idle_call() if they want
to use cpuidle or stick to the present boot process.

* After wider review and testing we could incrementally convert other
archs (including arm, blackfin, cris, ia64, m32r, m68knommu,
microblaze, mn10300, sh, sparc) also to use cpuidle.c implicitly.

* This patch series applies on 2.6.37, and was tested on x86 system
with multiple sleep states. It was also compile tested on ARM,
boot tested on POWER6.

This patch series tries to achieve the goal of having cpuidle manage
all idle routine for x86. It removes pm_idle function pointer which
causes problems discussed at and

V1 of this series is at
and V2 is at

* Force default idle for xen in xen/setup.c
* This series applies on 2.6.37, would have to be rebased to

Trinabh Gupta (3):
cpuidle: default idle driver for x86
cpuidle: list based cpuidle driver registration and selection
cpuidle: Remove pm_idle pointer for x86

arch/x86/kernel/process.c | 340 -------------------------------
arch/x86/kernel/process_32.c | 4
arch/x86/kernel/process_64.c | 4
arch/x86/xen/setup.c | 1
drivers/acpi/processor_idle.c | 2
drivers/cpuidle/Kconfig | 9 +
drivers/cpuidle/cpuidle.c | 43 +++-
drivers/cpuidle/driver.c | 112 ++++++++++
drivers/idle/Makefile | 2
drivers/idle/default_driver.c | 453 +++++++++++++++++++++++++++++++++++++++++
include/linux/cpuidle.h | 3
11 files changed, 613 insertions(+), 360 deletions(-)
create mode 100644 drivers/idle/default_driver.c


 \ /
  Last update: 2011-02-08 11:55    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean