OSDN Git Service

[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 d7f4d0c..21a4e3b 100644 (file)
@@ -636,25 +636,6 @@ static void update_cpu_domains(struct cpuset *cur)
                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
         */