[PATCH v2] arm64: topology: Implement basic CPU topology support
Catalin Marinas
catalin.marinas at arm.com
Tue Mar 4 05:28:06 EST 2014
On Tue, Mar 04, 2014 at 10:16:41AM +0000, Mark Brown wrote:
> On Tue, Mar 04, 2014 at 09:55:36AM +0000, Catalin Marinas wrote:
> > On Tue, Mar 04, 2014 at 07:51:17AM +0000, Mark Brown wrote:
>
> > > +config CPU_TOPOLOGY
> > > + bool "Support CPU topology definition"
>
> > Thanks for the patch. I applied it but not pushed to -next yet. I wonder
> > whether it makes sense to drop the description of the CPU_TOPOLOGY entry
> > here so that it is no longer selectable. It will be enabled by default
> > when SMP (I can do the change myself, no need to repost).
>
> I'm totally fine with that, I only made it selectable due to the 32 bit
> code doing that - I'm not sure we even need the separate symbol.
> Whatever you prefer.
Like that?
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index 4474e247f94a..140cd1a9dc0c 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -165,17 +165,9 @@ config SMP
If you don't know what to do here, say N.
-config CPU_TOPOLOGY
- bool "Support CPU topology definition"
- depends on SMP
- default y
- help
- Support CPU topology definition, based on configuration
- provided by the firmware.
-
config SCHED_MC
bool "Multi-core scheduler support"
- depends on CPU_TOPOLOGY
+ depends on SMP
help
Multi-core scheduler support improves the CPU scheduler's decision
making when dealing with multi-core CPU chips at a cost of slightly
@@ -183,7 +175,7 @@ config SCHED_MC
config SCHED_SMT
bool "SMT scheduler support"
- depends on CPU_TOPOLOGY
+ depends on SMP
help
Improves the CPU scheduler's decision making when dealing with
MultiThreading at a cost of slightly increased overhead in some
diff --git a/arch/arm64/include/asm/topology.h b/arch/arm64/include/asm/topology.h
index c8a47e8f452b..0172e6d76bf3 100644
--- a/arch/arm64/include/asm/topology.h
+++ b/arch/arm64/include/asm/topology.h
@@ -1,7 +1,7 @@
#ifndef __ASM_TOPOLOGY_H
#define __ASM_TOPOLOGY_H
-#ifdef CONFIG_CPU_TOPOLOGY
+#ifdef CONFIG_SMP
#include <linux/cpumask.h>
diff --git a/arch/arm64/kernel/Makefile b/arch/arm64/kernel/Makefile
index da1dafb3db87..cfee8273fccb 100644
--- a/arch/arm64/kernel/Makefile
+++ b/arch/arm64/kernel/Makefile
@@ -14,14 +14,13 @@ arm64-obj-y := cputable.o debug-monitors.o entry.o irq.o fpsimd.o \
arm64-obj-$(CONFIG_COMPAT) += sys32.o kuser32.o signal32.o \
sys_compat.o
arm64-obj-$(CONFIG_MODULES) += arm64ksyms.o module.o
-arm64-obj-$(CONFIG_SMP) += smp.o smp_spin_table.o
+arm64-obj-$(CONFIG_SMP) += smp.o smp_spin_table.o topology.o
arm64-obj-$(CONFIG_HW_PERF_EVENTS) += perf_event.o
arm64-obj-$(CONFIG_HAVE_HW_BREAKPOINT)+= hw_breakpoint.o
arm64-obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
arm64-obj-$(CONFIG_ARM64_CPU_SUSPEND) += sleep.o suspend.o
arm64-obj-$(CONFIG_JUMP_LABEL) += jump_label.o
arm64-obj-$(CONFIG_KGDB) += kgdb.o
-arm64-obj-$(CONFIG_CPU_TOPOLOGY) += topology.o
obj-y += $(arm64-obj-y) vdso/
obj-m += $(arm64-obj-m)
More information about the linux-arm-kernel
mailing list