sched: rt-group: reduce rescheduling
[deliverable/linux.git] / kernel / sched_rt.c
index 8bfdb3f8a52d6456b468fa5ddeeb5b872d1cec79..f1f215db3bd0d8f16859a2164d65dc5cbefa9cf5 100644 (file)
@@ -94,8 +94,11 @@ static void sched_rt_ratio_enqueue(struct rt_rq *rt_rq)
        struct sched_rt_entity *rt_se = rt_rq->rt_se;
 
        if (rt_se && !on_rt_rq(rt_se) && rt_rq->rt_nr_running) {
+               struct task_struct *curr = rq_of_rt_rq(rt_rq)->curr;
+
                enqueue_rt_entity(rt_se);
-               resched_task(rq_of_rt_rq(rt_rq)->curr);
+               if (rt_rq->highest_prio < curr->prio)
+                       resched_task(curr);
        }
 }
 
This page took 0.027162 seconds and 5 git commands to generate.