diff options
Diffstat (limited to 'kernel/sched_rt.c')
| -rw-r--r-- | kernel/sched_rt.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index dcd64958859..060e87b0cb1 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c @@ -1098,11 +1098,14 @@ static void post_schedule_rt(struct rq *rq)  	}  } - +/* + * If we are not running and we are not going to reschedule soon, we should + * try to push tasks away now + */  static void task_wake_up_rt(struct rq *rq, struct task_struct *p)  {  	if (!task_running(rq, p) && -	    (p->prio >= rq->rt.highest_prio) && +	    !test_tsk_need_resched(rq->curr) &&  	    rq->rt.overloaded)  		push_rt_tasks(rq);  } | 
