[PATCH] fix sched_domains hotplug bootstrap ordering vs. cpu_online_map issue
cpu_online_map is not set up at the time of sched domain initialization when hotplug cpu paths are used for SMP booting. At this phase of bootstrapping, cpu_possible_map can be used by the various architectures using cpu hotplugging for SMP bootstrap, but the manipulations of cpu_online_map done on behalf of NUMA architectures, done indirectly via node_to_cpumask(), can't, because cpu_online_map starts depopulated and hasn't yet been populated. On true NUMA architectures this is a distinct cpumask_t from cpu_online_map and so the unpatched code works on NUMA; on non-NUMA architectures the definition of node_to_cpumask() this way breaks and would require an invasive sweeping of users of node_to_cpumask() to change it to e.g. cpu_possible_map, as cpu_possible_map is not suitable for use at runtime as a substitute for cpu_online_map. Signed-off-by: William Irwin <wli@holomorphy.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing
Please register or sign in to comment