LKML Archive on
help / color / mirror / Atom feed
From: Trinabh Gupta <>
Subject: [RFC PATCH V3 0/3] cpuidle: Cleanup pm_idle and include driver/cpuidle.c in-kernel
Date: Tue, 08 Feb 2011 16:18:44 +0530	[thread overview]
Message-ID: <> (raw)

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 as 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


             reply	other threads:[~2011-02-08 10:48 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-08 10:48 Trinabh Gupta [this message]
2011-02-08 10:51 Trinabh Gupta
2011-02-09 11:21 ` Peter Zijlstra
2011-02-10 15:10   ` Trinabh Gupta

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \ \ \
    --subject='Re: [RFC PATCH V3 0/3] cpuidle: Cleanup pm_idle and include driver/cpuidle.c in-kernel' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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).