diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2005-08-24 01:03:34 -0400 |
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-08-24 01:03:34 -0400 |
| commit | 75a95178dafb5c8d69b4abe45ea746a9cea23142 (patch) | |
| tree | 1dbf80c83d9521dcdebc9e670f48da6c1ba34187 /kernel | |
| parent | 8531c5ffbca65f6df868637c26e6df6f88bff738 (diff) | |
| parent | 0572e3da3ff5c3744b2f606ecf296d5f89a4bbdf (diff) | |
Merge upstream into 'upstream' branch of netdev-2.6.git.
Hand fix merge conflict in drivers/net/tokenring/Kconfig.
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/cpuset.c | 17 | ||||
| -rw-r--r-- | kernel/timer.c | 2 |
2 files changed, 18 insertions, 1 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) 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 */ diff --git a/kernel/timer.c b/kernel/timer.c index f2a11887a726..5377f40723ff 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -1023,7 +1023,7 @@ asmlinkage long sys_getppid(void) parent = me->group_leader->real_parent; for (;;) { pid = parent->tgid; -#ifdef CONFIG_SMP +#if defined(CONFIG_SMP) || defined(CONFIG_PREEMPT) { struct task_struct *old = parent; |
