path: root/init
diff options
authorRusty Russell <>2008-12-13 21:19:41 +1030
committerRusty Russell <>2008-12-13 21:19:41 +1030
commit98a79d6a50181ca1ecf7400eda01d5dc1bc0dbf0 (patch)
treee8829ee975b77745da153b9d23601e3a1497ad68 /init
parent6c34bc2976b30dc8b56392c020e25bae1f363cab (diff)
cpumask: centralize cpu_online_map and cpu_possible_map
Impact: cleanup Each SMP arch defines these themselves. Move them to a central location. Twists: 1) Some archs (m32, parisc, s390) set possible_map to all 1, so we add a CONFIG_INIT_ALL_POSSIBLE for this rather than break them. 2) mips and sparc32 '#define cpu_possible_map phys_cpu_present_map'. Those archs simply have phys_cpu_present_map replaced everywhere. 3) Alpha defined cpu_possible_map to cpu_present_map; this is tricky so I just manipulate them both in sync. 4) IA64, cris and m32r have gratuitous 'extern cpumask_t cpu_possible_map' declarations. Signed-off-by: Rusty Russell <> Reviewed-by: Grant Grundler <> Tested-by: Tony Luck <> Acked-by: Ingo Molnar <> Cc: Mike Travis <> Cc: Cc: Cc: Cc: Cc: Cc: Cc: Cc: Cc: Cc: Cc: Cc: Cc: Cc:
Diffstat (limited to 'init')
1 files changed, 9 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig
index f763762d544a..7656623f5006 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -916,6 +916,15 @@ config KMOD
endif # MODULES
+ bool
+ help
+ Back when each arch used to define their own cpu_online_map and
+ cpu_possible_map, some of them chose to initialize cpu_possible_map
+ with all 1s, and others with all 0s. When they were centralised,
+ it was better to provide this option than to break all the archs
+ and have several arch maintainers persuing me down dark alleys.
default y