ARM: 7011/1: Add ARM cpu topology definition
authorVincent Guittot <vincent.guittot@linaro.org>
Mon, 8 Aug 2011 12:21:59 +0000 (13:21 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 17 Oct 2011 08:02:43 +0000 (09:02 +0100)
commitc9018aab8eee24b993c12c7aff7fc99d3d73f298
tree9c03698cff4bda12364af7c84ed09122219bbc2c
parentd0a77454c70d0449a5f87087deb8f0cb15145e90
ARM: 7011/1: Add ARM cpu topology definition

The affinity between ARM processors is defined in the MPIDR register.
We can identify which processors are in the same cluster,
and which ones have performance interdependency. We can define the
cpu topology of ARM platform, that is then used by sched_mc and sched_smt.

The default state of sched_mc and sched_smt config is disable.
When enabled, the behavior of the scheduler can be modified with
sched_mc_power_savings and sched_smt_power_savings sysfs interfaces.

Changes since v4 :
*  Remove unnecessary parentheses and blank lines

Changes since v3 :
* Update the format of printk message
* Remove blank line

Changes since v2 :
* Update the commit message and some comments

Changes since v1 :
* Update the commit message
* Add read_cpuid_mpidr in arch/arm/include/asm/cputype.h
* Modify header of arch/arm/kernel/topology.c
* Modify tests and manipulation of MPIDR's bitfields
* Modify the place and dependancy of the config
* Modify Noop functions

Signed-off-by: Vincent Guittot <vincent.guittot@linaro.org>
Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/Kconfig
arch/arm/include/asm/cputype.h
arch/arm/include/asm/topology.h
arch/arm/kernel/Makefile
arch/arm/kernel/smp.c
arch/arm/kernel/topology.c [new file with mode: 0644]