Re: SMP Panic caused by [PATCH] sched: consolidate sched domains

From: Jesse Barnes
Date: Sun Aug 29 2004 - 12:13:08 EST


On Sunday, August 29, 2004 9:58 am, James Bottomley wrote:
> On Sun, 2004-08-29 at 12:48, Jesse Barnes wrote:
> > But I think this breaks what the code is supposed to do. You're right
> > that we shouldn't use cpu_online_map, but we should leave the nodemask in
> > there and fix the code that sets it in the non-NUMA case instead.
>
> Well, let's say it puts back the original behaviour. If you look at even
> the NUMA code before these changes, it had cpu_possible_map in there.
>
> I totally agree about fixing NUMA, it looks completely broken to me in
> the way it handles cpu maps because node_to_cpumask(i) needs to expand
> to cpu_possible_map for initialisation and cpu_online_map for
> operation. Has anyone ever checked NUMA for hotplug CPU?

I've up and downed a few CPUs on an Altix, and it seems to work ok, but that's
a pretty basic test. How about this?

Jesse

===== include/asm-generic/topology.h 1.6 vs edited =====
--- 1.6/include/asm-generic/topology.h 2004-02-03 21:35:17 -08:00
+++ edited/include/asm-generic/topology.h 2004-08-29 10:06:17 -07:00
@@ -36,13 +36,13 @@
#define parent_node(node) (0)
#endif
#ifndef node_to_cpumask
-#define node_to_cpumask(node) (cpu_online_map)
+#define node_to_cpumask(node) (cpu_possible_map)
#endif
#ifndef node_to_first_cpu
#define node_to_first_cpu(node) (0)
#endif
#ifndef pcibus_to_cpumask
-#define pcibus_to_cpumask(bus) (cpu_online_map)
+#define pcibus_to_cpumask(bus) (cpu_possible_map)
#endif

/* Cross-node load balancing interval. */