summaryrefslogtreecommitdiff
path: root/kernel/cpu.c
diff options
context:
space:
mode:
authorPeter Zijlstra <peterz@infradead.org>2010-01-21 15:34:27 (GMT)
committerIngo Molnar <mingo@elte.hu>2010-01-28 05:59:51 (GMT)
commit11854247e2c851e7ff9ce138e501c6cffc5a4217 (patch)
tree281c12176055279558b31b4b059e32e59229f486 /kernel/cpu.c
parentfabf318e5e4bda0aca2b0d617b191884fda62703 (diff)
downloadlinux-11854247e2c851e7ff9ce138e501c6cffc5a4217.tar.xz
sched: Fix incorrect sanity check
We moved to migrate on wakeup, which means that sleeping tasks could still be present on offline cpus. Amend the check to only test running tasks. Reported-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/cpu.c')
-rw-r--r--kernel/cpu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c
index 1c8ddd6..08e54e7 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -151,7 +151,7 @@ static inline void check_for_tasks(int cpu)
write_lock_irq(&tasklist_lock);
for_each_process(p) {
- if (task_cpu(p) == cpu &&
+ if (task_cpu(p) == cpu && p->state == TASK_RUNNING &&
(!cputime_eq(p->utime, cputime_zero) ||
!cputime_eq(p->stime, cputime_zero)))
printk(KERN_WARNING "Task %s (pid = %d) is on cpu %d\