linux-sg2042/arch/sh
Deepthi Dharwar 46bcfad7a8 cpuidle: Single/Global registration of idle states
This patch makes the cpuidle_states structure global (single copy)
instead of per-cpu. The statistics needed on per-cpu basis
by the governor are kept per-cpu. This simplifies the cpuidle
subsystem as state registration is done by single cpu only.
Having single copy of cpuidle_states saves memory. Rare case
of asymmetric C-states can be handled within the cpuidle driver
and architectures such as POWER do not have asymmetric C-states.

Having single/global registration of all the idle states,
dynamic C-state transitions on x86 are handled by
the boot cpu. Here, the boot cpu  would disable all the devices,
re-populate the states and later enable all the devices,
irrespective of the cpu that would receive the notification first.

Reference:
https://lkml.org/lkml/2011/4/25/83

Signed-off-by: Deepthi Dharwar <deepthi@linux.vnet.ibm.com>
Signed-off-by: Trinabh Gupta <g.trinabh@gmail.com>
Tested-by: Jean Pihet <j-pihet@ti.com>
Reviewed-by: Kevin Hilman <khilman@ti.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Acked-by: Kevin Hilman <khilman@ti.com>
Signed-off-by: Len Brown <len.brown@intel.com>
2011-11-06 21:13:58 -05:00
..
boards Merge branch 'sh-latest' of git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-3.x 2011-08-01 06:10:16 -10:00
boot sh: Remove compressed kernel libgcc dependency. 2011-06-06 17:57:58 +09:00
cchips sh: Convert to new function names 2011-03-29 14:48:13 +02:00
configs sh: fix compile error using sh7757lcr_defconfig 2011-06-21 17:40:42 +09:00
drivers PCI: Make the struct pci_dev * argument of pci_fixup_irqs const. 2011-07-22 08:26:06 -07:00
include sh: Fix conflicting definitions of ptrace_triggered 2011-08-03 12:37:22 +09:00
kernel cpuidle: Single/Global registration of idle states 2011-11-06 21:13:58 -05:00
lib sh: Ensure ST40-300 BogoMIPS value is consistent 2011-02-15 16:24:05 +09:00
lib64 Fix common misspellings 2011-03-31 11:26:23 -03:00
math-emu perf: Remove the nmi parameter from the swevent and overflow interface 2011-07-01 11:06:35 +02:00
mm Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-22 16:44:39 -07:00
oprofile sh: remove warning and warning_symbol from struct stacktrace_ops 2011-05-23 14:42:15 +09:00
tools sh: Add support for AP-SH4AD-0A board. 2011-01-13 18:36:21 +09:00
Kconfig Merge branch 'apei' into apei-release 2011-08-03 11:30:42 -04:00
Kconfig.cpu sh: Turn on speculative return for SH7785 and SH7786 2010-02-18 18:54:18 +09:00
Kconfig.debug lib: consolidate DEBUG_STACK_USAGE option 2011-05-25 08:39:54 -07:00
Makefile serial: sh-sci: Abstract register maps. 2011-06-14 12:40:19 +09:00