kernel-hacking-2024-linux-s.../arch
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
..
alpha alpha, gpio: GENERIC_GPIO default must be n 2011-09-14 18:09:37 -07:00
arm cpuidle: Single/Global registration of idle states 2011-11-06 21:13:58 -05:00
avr32 All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
blackfin All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
cris All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
frv All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
h8300 All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
ia64 All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
m32r All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
m68k All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
microblaze All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
mips MIPS: Call oops_enter, oops_exit in die 2011-10-01 20:36:04 +01:00
mn10300 All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
openrisc Add missing DMA ops 2011-09-11 09:50:39 +02:00
parisc remove remaining references to nfsservctl 2011-08-29 16:31:59 -07:00
powerpc powerpc: Fix device-tree matching for Apple U4 bridge 2011-09-29 19:22:40 -07:00
s390 [S390] gmap: always up mmap_sem properly 2011-09-26 16:40:50 +02:00
score
sh cpuidle: Single/Global registration of idle states 2011-11-06 21:13:58 -05:00
sparc sparc: Add alignment flag to PCI expansion resources 2011-10-19 16:20:50 -07:00
tile tile: revert change from <asm/atomic.h> to <linux/atomic.h> in asm files 2011-10-13 08:25:01 -04:00
um um: fix strrchr() problems 2011-09-14 18:09:37 -07:00
unicore32
x86 x86: Fix S4 regression 2011-10-24 06:55:20 +02:00
xtensa All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
.gitignore
Kconfig