]> git.hungrycats.org Git - linux/commit
[PATCH] fix sched_domains hotplug bootstrap ordering vs. cpu_online_map issue
authorWilliam Lee Irwin III <wli@holomorphy.com>
Fri, 3 Sep 2004 11:48:28 +0000 (04:48 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Fri, 3 Sep 2004 11:48:28 +0000 (04:48 -0700)
commitc3272d7c12a2157f8fe96cee615da30af94814bc
tree5a1fe2faae0972e348f84def194b28c7cc1d5089
parenteaa8fe26a2be586b583286d1af8e57dc649e07ab
[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>
kernel/sched.c