| Date | Sat, 18 Sep 2010 11:58:51 -0700 | From | Greg KH <> | Subject | [087/123] sched: Fix incorrect sanity check |
| |
From: Peter Zijlstra <peterz@infradead.org>
commit 11854247e2c851e7ff9ce138e501c6cffc5a4217 upstream
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> Signed-off-by: Mike Galbraith <efault@gmx.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- kernel/cpu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -151,7 +151,7 @@ static inline void check_for_tasks(int c 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\
|