diff options
Diffstat (limited to 'kernel/cpuset.c')
-rw-r--r-- | kernel/cpuset.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index 21a4e3b2cbda..e0d296c5b302 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
@@ -636,6 +636,23 @@ static void update_cpu_domains(struct cpuset *cur) | |||
636 | return; | 636 | return; |
637 | 637 | ||
638 | /* | 638 | /* |
639 | * Hack to avoid 2.6.13 partial node dynamic sched domain bug. | ||
640 | * Require the 'cpu_exclusive' cpuset to include all (or none) | ||
641 | * of the CPUs on each node, or return w/o changing sched domains. | ||
642 | * Remove this hack when dynamic sched domains fixed. | ||
643 | */ | ||
644 | { | ||
645 | int i, j; | ||
646 | |||
647 | for_each_cpu_mask(i, cur->cpus_allowed) { | ||
648 | for_each_cpu_mask(j, node_to_cpumask(cpu_to_node(i))) { | ||
649 | if (!cpu_isset(j, cur->cpus_allowed)) | ||
650 | return; | ||
651 | } | ||
652 | } | ||
653 | } | ||
654 | |||
655 | /* | ||
639 | * Get all cpus from parent's cpus_allowed not part of exclusive | 656 | * Get all cpus from parent's cpus_allowed not part of exclusive |
640 | * children | 657 | * children |
641 | */ | 658 | */ |