diff options
author | Peter Zijlstra <peterz@infradead.org> | 2010-01-21 16:34:27 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-01-28 06:59:51 +0100 |
commit | 11854247e2c851e7ff9ce138e501c6cffc5a4217 (patch) | |
tree | 281c12176055279558b31b4b059e32e59229f486 /kernel | |
parent | fabf318e5e4bda0aca2b0d617b191884fda62703 (diff) | |
download | linux-11854247e2c851e7ff9ce138e501c6cffc5a4217.tar.gz linux-11854247e2c851e7ff9ce138e501c6cffc5a4217.tar.bz2 linux-11854247e2c851e7ff9ce138e501c6cffc5a4217.zip |
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')
-rw-r--r-- | kernel/cpu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c index 1c8ddd6ee940..08e54e7beaed 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\ |