diff options
author | Nick Piggin <nickpiggin@yahoo.com.au> | 2005-06-25 17:57:06 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-25 19:24:40 -0400 |
commit | e0f364f4069f76a3613a797c388832822d179076 (patch) | |
tree | d47e817c037a5765935c43f4aac4f4b0864bce4a /kernel/sched.c | |
parent | 44f410a7ce593e7e75667b93494223998069f3f1 (diff) |
[PATCH] sched: cleanup wake_idle
New sched-domains code means we don't get spans with offline CPUs in
them.
Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'kernel/sched.c')
-rw-r--r-- | kernel/sched.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/kernel/sched.c b/kernel/sched.c index 76080d142e3d..86be13ee5006 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -927,14 +927,14 @@ static int wake_idle(int cpu, task_t *p) | |||
927 | 927 | ||
928 | for_each_domain(cpu, sd) { | 928 | for_each_domain(cpu, sd) { |
929 | if (sd->flags & SD_WAKE_IDLE) { | 929 | if (sd->flags & SD_WAKE_IDLE) { |
930 | cpus_and(tmp, sd->span, cpu_online_map); | 930 | cpus_and(tmp, sd->span, p->cpus_allowed); |
931 | cpus_and(tmp, tmp, p->cpus_allowed); | ||
932 | for_each_cpu_mask(i, tmp) { | 931 | for_each_cpu_mask(i, tmp) { |
933 | if (idle_cpu(i)) | 932 | if (idle_cpu(i)) |
934 | return i; | 933 | return i; |
935 | } | 934 | } |
936 | } | 935 | } |
937 | else break; | 936 | else |
937 | break; | ||
938 | } | 938 | } |
939 | return cpu; | 939 | return cpu; |
940 | } | 940 | } |