linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2]: cpuidle: Introducing cpuidle infrastructure to powerpc.
@ 2009-08-19 12:57 Arun R Bharadwaj
  2009-08-19 12:58 ` [PATCH 1/2]: pSeries: Enable cpuidle for pSeries Arun R Bharadwaj
  2009-08-19 12:59 ` [PATCH 2/2]: pSeries: Implement Thermal & Power Management Devices(TPMD) idle module Arun R Bharadwaj
  0 siblings, 2 replies; 3+ messages in thread
From: Arun R Bharadwaj @ 2009-08-19 12:57 UTC (permalink / raw)
  To: Joel Schopp, Benjamin Herrenschmidt, Shaohua Li,
	Venkatesh Pallipadi, Adam Belay, Peter Zijlstra, Ingo Molnar,
	Vaidyanathan Srinivasan, Dipankar Sarma, Balbir Singh,
	Gautham R Shenoy, Arun R Bharadwaj
  Cc: linuxppc-dev, linux-kernel

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 (ladder and menu),
which will decide the best idle state to be chosen for the current situation,
based on heuristics, and calculates the expected residency time
for the current idle state. So based on this, the cpu is put into
the right idle state.

Currently, cpuidle infrasture is exploited by ACPI to choose between
the available ACPI C-states. This patch-set is aimed at enabling
cpuidle for powerpc and provides a sample implementation for pseries.

Currently, in the pseries_dedicated_idle_sleep(), the processor would
poll for a time period, which is called the snooze, and only then it
is ceded, which would put the processor in nap state. Cpuidle aims at
separating this into 2 different idle states. Based on the expected
residency time predicted by the cpuidle governor, the idle state is
chosen directly. So, choosing to enter the nap state directly based on
the decision made by cpuidle would avoid unnecessary snoozing before
entering nap.

This patch-set tries to achieve the above objective by introducing a
Thermal and Power Management Device module called tpmd_idle in
arch/powerpc/platform/pseries/tpmd_idle.c, which implements cpuidle
idle loop which would replace the pseries_dedicated_idle_sleep()
when cpuidle is enabled.

Patches included in this set:
PATCH 1/2 - Enable cpuidle for pSeries.
PATCH 2/2 - Implement Thermal & Power Management Devices(TPMD) idle module


Any feedback on the overall design and idea is immensely valuable.

--arun

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-08-19 13:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-08-19 12:57 [PATCH 0/2]: cpuidle: Introducing cpuidle infrastructure to powerpc Arun R Bharadwaj
2009-08-19 12:58 ` [PATCH 1/2]: pSeries: Enable cpuidle for pSeries Arun R Bharadwaj
2009-08-19 12:59 ` [PATCH 2/2]: pSeries: Implement Thermal & Power Management Devices(TPMD) idle module Arun R Bharadwaj

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