[PATCH] undo partial cpu_exclusive sched domain disabling
authorPaul Jackson <pj@sgi.com>
Thu, 25 Aug 2005 19:47:50 +0000 (12:47 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 26 Aug 2005 23:38:46 +0000 (16:38 -0700)
The partial disabling of Dinakar's new facility to allow
cpu_exclusive cpusets to define dynamic sched domains
doesn't go far enough.  At the suggestion of Nick Piggin
and Dinakar, let us instead totally disable this facility
for 2.6.13, in order to avoid problems first reported
by John Hawkes (corrupt sched data structures and kernel oops).

This patch removes the partial disabling code in 2.6.13-rc7,
in anticipation of the next patch, which will totally disable
it instead.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
kernel/cpuset.c

index d7f4d0c957379128ba9b0f25332bd4697386401d..21a4e3b2cbda63c3b6e80c19df832f8b0016544d 100644 (file)
@@ -635,25 +635,6 @@ static void update_cpu_domains(struct cpuset *cur)
        if (par == NULL || cpus_empty(cur->cpus_allowed))
                return;
 
-       /*
-        * Hack to avoid 2.6.13 partial node dynamic sched domain bug.
-        * Require the 'cpu_exclusive' cpuset to include all (or none)
-        * of the CPUs on each node, or return w/o changing sched domains.
-        * Remove this hack when dynamic sched domains fixed.
-        */
-       {
-               int i, j;
-
-               for_each_cpu_mask(i, cur->cpus_allowed) {
-                       cpumask_t mask = node_to_cpumask(cpu_to_node(i));
-
-                       for_each_cpu_mask(j, mask) {
-                               if (!cpu_isset(j, cur->cpus_allowed))
-                                       return;
-                       }
-               }
-       }
-
        /*
         * Get all cpus from parent's cpus_allowed not part of exclusive
         * children