[PATCH] sched: don't awaken RT tasks on expired array
RT tasks are being awakened on the expired array when expired_starving() is true, whereas they really should be excluded. Fix. Signed-off-by: Mike Galbraith <efault@gmx.de> Acked-by: Ingo Molnar <mingo@elte.hu> Cc: Con Kolivas <kernel@kolivas.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
5ce74abe78
commit
8a5bc075b8
|
@ -713,7 +713,7 @@ static void __activate_task(task_t *p, runqueue_t *rq)
|
|||
{
|
||||
prio_array_t *target = rq->active;
|
||||
|
||||
if (unlikely(batch_task(p) || expired_starving(rq)))
|
||||
if (unlikely(batch_task(p) || (expired_starving(rq) && !rt_task(p))))
|
||||
target = rq->expired;
|
||||
enqueue_task(p, target);
|
||||
rq->nr_running++;
|
||||
|
|
Loading…
Reference in New Issue