diff options
| author | Len Brown <len.brown@intel.com> | 2005-08-26 22:11:28 -0400 |
|---|---|---|
| committer | Len Brown <len.brown@intel.com> | 2005-08-26 22:11:28 -0400 |
| commit | 60cfff3516580f5c782cef4dc28f2974c4df8ed1 (patch) | |
| tree | 30053bcf09c1b77699281ba3a56d8ffb4144966c /kernel | |
| parent | 89ef1a21a174a4f581a4b6973f9a9f9ee28a9304 (diff) | |
| parent | 212d6d2237f60bc28c1518f8abf9d3ed6c17574a (diff) | |
Auto-update from upstream
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/cpuset.c | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/kernel/cpuset.c b/kernel/cpuset.c index d7f4d0c95737..8ab1b4e518b8 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c | |||
| @@ -627,6 +627,14 @@ static int validate_change(const struct cpuset *cur, const struct cpuset *trial) | |||
| 627 | * Call with cpuset_sem held. May nest a call to the | 627 | * Call with cpuset_sem held. May nest a call to the |
| 628 | * lock_cpu_hotplug()/unlock_cpu_hotplug() pair. | 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 | static void update_cpu_domains(struct cpuset *cur) | 638 | static void update_cpu_domains(struct cpuset *cur) |
| 631 | { | 639 | { |
| 632 | struct cpuset *c, *par = cur->parent; | 640 | struct cpuset *c, *par = cur->parent; |
| @@ -636,25 +644,6 @@ static void update_cpu_domains(struct cpuset *cur) | |||
| 636 | return; | 644 | return; |
| 637 | 645 | ||
| 638 | /* | 646 | /* |
| 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 | cpumask_t mask = node_to_cpumask(cpu_to_node(i)); | ||
| 649 | |||
| 650 | for_each_cpu_mask(j, mask) { | ||
| 651 | if (!cpu_isset(j, cur->cpus_allowed)) | ||
| 652 | return; | ||
| 653 | } | ||
| 654 | } | ||
| 655 | } | ||
| 656 | |||
| 657 | /* | ||
| 658 | * Get all cpus from parent's cpus_allowed not part of exclusive | 647 | * Get all cpus from parent's cpus_allowed not part of exclusive |
| 659 | * children | 648 | * children |
| 660 | */ | 649 | */ |
| @@ -686,6 +675,11 @@ static void update_cpu_domains(struct cpuset *cur) | |||
| 686 | partition_sched_domains(&pspan, &cspan); | 675 | partition_sched_domains(&pspan, &cspan); |
| 687 | unlock_cpu_hotplug(); | 676 | unlock_cpu_hotplug(); |
| 688 | } | 677 | } |
| 678 | #else | ||
| 679 | static void update_cpu_domains(struct cpuset *cur) | ||
| 680 | { | ||
| 681 | } | ||
| 682 | #endif | ||
| 689 | 683 | ||
| 690 | static int update_cpumask(struct cpuset *cs, char *buf) | 684 | static int update_cpumask(struct cpuset *cs, char *buf) |
| 691 | { | 685 | { |
