diff options
-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 | } |