diff options
author | Vincent Guittot <vincent.guittot@linaro.org> | 2011-08-08 08:21:59 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2011-10-17 04:02:43 -0400 |
commit | c9018aab8eee24b993c12c7aff7fc99d3d73f298 (patch) | |
tree | 9c03698cff4bda12364af7c84ed09122219bbc2c /arch/arm/Kconfig | |
parent | d0a77454c70d0449a5f87087deb8f0cb15145e90 (diff) |
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>
Diffstat (limited to 'arch/arm/Kconfig')
-rw-r--r-- | arch/arm/Kconfig | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 3269576dbfa8..c208fd97c180 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -1393,6 +1393,31 @@ config SMP_ON_UP | |||
1393 | 1393 | ||
1394 | If you don't know what to do here, say Y. | 1394 | If you don't know what to do here, say Y. |
1395 | 1395 | ||
1396 | config ARM_CPU_TOPOLOGY | ||
1397 | bool "Support cpu topology definition" | ||
1398 | depends on SMP && CPU_V7 | ||
1399 | default y | ||
1400 | help | ||
1401 | Support ARM cpu topology definition. The MPIDR register defines | ||
1402 | affinity between processors which is then used to describe the cpu | ||
1403 | topology of an ARM System. | ||
1404 | |||
1405 | config SCHED_MC | ||
1406 | bool "Multi-core scheduler support" | ||
1407 | depends on ARM_CPU_TOPOLOGY | ||
1408 | help | ||
1409 | Multi-core scheduler support improves the CPU scheduler's decision | ||
1410 | making when dealing with multi-core CPU chips at a cost of slightly | ||
1411 | increased overhead in some places. If unsure say N here. | ||
1412 | |||
1413 | config SCHED_SMT | ||
1414 | bool "SMT scheduler support" | ||
1415 | depends on ARM_CPU_TOPOLOGY | ||
1416 | help | ||
1417 | Improves the CPU scheduler's decision making when dealing with | ||
1418 | MultiThreading at a cost of slightly increased overhead in some | ||
1419 | places. If unsure say N here. | ||
1420 | |||
1396 | config HAVE_ARM_SCU | 1421 | config HAVE_ARM_SCU |
1397 | bool | 1422 | bool |
1398 | help | 1423 | help |