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>
This commit is contained in:
Peter Zijlstra 2010-01-21 16:34:27 +01:00 коммит произвёл Ingo Molnar
Родитель fabf318e5e
Коммит 11854247e2
1 изменённых файлов: 1 добавлений и 1 удалений

Просмотреть файл

@ -151,7 +151,7 @@ static inline void check_for_tasks(int cpu)
write_lock_irq(&tasklist_lock); write_lock_irq(&tasklist_lock);
for_each_process(p) { 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->utime, cputime_zero) ||
!cputime_eq(p->stime, cputime_zero))) !cputime_eq(p->stime, cputime_zero)))
printk(KERN_WARNING "Task %s (pid = %d) is on cpu %d\ printk(KERN_WARNING "Task %s (pid = %d) is on cpu %d\