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/cpu.c | |
parent | fabf318e5e4bda0aca2b0d617b191884fda62703 (diff) | |
download | kernel_goldelico_gta04-11854247e2c851e7ff9ce138e501c6cffc5a4217.zip kernel_goldelico_gta04-11854247e2c851e7ff9ce138e501c6cffc5a4217.tar.gz kernel_goldelico_gta04-11854247e2c851e7ff9ce138e501c6cffc5a4217.tar.bz2 |
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.c | 2 |
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\ |