|
@@ -836,6 +836,8 @@ static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun)
|
|
* can be time-consuming. Try to avoid it when possible.
|
|
* can be time-consuming. Try to avoid it when possible.
|
|
*/
|
|
*/
|
|
raw_spin_lock(&rt_rq->rt_runtime_lock);
|
|
raw_spin_lock(&rt_rq->rt_runtime_lock);
|
|
|
|
+ if (!sched_feat(RT_RUNTIME_SHARE) && rt_rq->rt_runtime != RUNTIME_INF)
|
|
|
|
+ rt_rq->rt_runtime = rt_b->rt_runtime;
|
|
skip = !rt_rq->rt_time && !rt_rq->rt_nr_running;
|
|
skip = !rt_rq->rt_time && !rt_rq->rt_nr_running;
|
|
raw_spin_unlock(&rt_rq->rt_runtime_lock);
|
|
raw_spin_unlock(&rt_rq->rt_runtime_lock);
|
|
if (skip)
|
|
if (skip)
|