2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-11-19 16:14:13 +08:00
linux-next/drivers/cpuidle
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
..
governors cpuidle: Single/Global registration of idle states 2011-11-06 21:13:58 -05:00
cpuidle.c cpuidle: Single/Global registration of idle states 2011-11-06 21:13:58 -05:00
cpuidle.h cpuidle: create bootparam "cpuidle.off=1" 2011-08-03 19:06:36 -04:00
driver.c cpuidle: Single/Global registration of idle states 2011-11-06 21:13:58 -05:00
governor.c cpuidle: create bootparam "cpuidle.off=1" 2011-08-03 19:06:36 -04:00
Kconfig ACPI: CONFIG_CPU_IDLE=ACPI by default 2007-11-19 22:22:37 -05:00
Makefile cpuidle: consolidate 2.6.22 cpuidle branch into one patch 2007-10-10 00:12:41 -04:00
sysfs.c cpuidle: Single/Global registration of idle states 2011-11-06 21:13:58 -05:00