diff --git a/[refs] b/[refs] index 771d652f4a16..aaaed2a88f2b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4cc21505a09354ade787de368bd697a1bba3b213 +refs/heads/master: a0f98a1cb7d27c656de450ba56efd31bdc59065e diff --git a/trunk/kernel/sched.c b/trunk/kernel/sched.c index 13cdab3b4c48..49be34e1f0b8 100644 --- a/trunk/kernel/sched.c +++ b/trunk/kernel/sched.c @@ -7071,12 +7071,13 @@ EXPORT_SYMBOL(__might_sleep); void normalize_rt_tasks(void) { struct prio_array *array; - struct task_struct *p; + struct task_struct *g, *p; unsigned long flags; struct rq *rq; read_lock_irq(&tasklist_lock); - for_each_process(p) { + + do_each_thread(g, p) { if (!rt_task(p)) continue; @@ -7094,7 +7095,8 @@ void normalize_rt_tasks(void) __task_rq_unlock(rq); spin_unlock_irqrestore(&p->pi_lock, flags); - } + } while_each_thread(g, p); + read_unlock_irq(&tasklist_lock); }