Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

[PATCH] completely disable cpu_exclusive sched domain

At the suggestion of Nick Piggin and Dinakar, totally disable
the facility to allow cpu_exclusive cpusets to define dynamic
sched domains in Linux 2.6.13, in order to avoid problems
first reported by John Hawkes (corrupt sched data structures
and kernel oops).

This has been built for ppc64, i386, ia64, x86_64, sparc, alpha.
It has been built, booted and tested for cpuset functionality
on an SN2 (ia64).

Dinakar or Nick - could you verify that it for sure does avoid
the problems Hawkes reported. Hawkes is out of town, and I don't
have the recipe to reproduce what he found.

Signed-off-by: Paul Jackson <pj@sgi.com>
Acked-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Paul Jackson and committed by
Linus Torvalds
212d6d22 ca2f3daf

+13
+13
kernel/cpuset.c
··· 627 627 * Call with cpuset_sem held. May nest a call to the 628 628 * lock_cpu_hotplug()/unlock_cpu_hotplug() pair. 629 629 */ 630 + 631 + /* 632 + * Hack to avoid 2.6.13 partial node dynamic sched domain bug. 633 + * Disable letting 'cpu_exclusive' cpusets define dynamic sched 634 + * domains, until the sched domain can handle partial nodes. 635 + * Remove this #if hackery when sched domains fixed. 636 + */ 637 + #if 0 630 638 static void update_cpu_domains(struct cpuset *cur) 631 639 { 632 640 struct cpuset *c, *par = cur->parent; ··· 675 667 partition_sched_domains(&pspan, &cspan); 676 668 unlock_cpu_hotplug(); 677 669 } 670 + #else 671 + static void update_cpu_domains(struct cpuset *cur) 672 + { 673 + } 674 + #endif 678 675 679 676 static int update_cpumask(struct cpuset *cs, char *buf) 680 677 {