diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-08-24 01:02:04 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-08-24 01:02:04 -0400 |
commit | b2382b363df828f25e35ed8b70a3da33b29b2a64 (patch) | |
tree | 23aa2e70ba4650390c9281b3696172313bdb0f38 /kernel/cpuset.c | |
parent | 1b5cca3a88b7682d538d129c25f0e3092613a243 (diff) | |
parent | 0572e3da3ff5c3744b2f606ecf296d5f89a4bbdf (diff) |
Merge upstream into ieee80211.
Hand-fix merge conflict in drivers/usb/net/zd1201.c.
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 21a4e3b2cbd..e0d296c5b30 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c @@ -636,6 +636,23 @@ 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) { + for_each_cpu_mask(j, node_to_cpumask(cpu_to_node(i))) { + if (!cpu_isset(j, cur->cpus_allowed)) + return; + } + } + } + + /* * Get all cpus from parent's cpus_allowed not part of exclusive * children */ |