diff options
Diffstat (limited to 'kernel/sched_rt.c')
-rw-r--r-- | kernel/sched_rt.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/sched_rt.c b/kernel/sched_rt.c index 6d2d0a5d030b..2e228bd5395e 100644 --- a/kernel/sched_rt.c +++ b/kernel/sched_rt.c | |||
@@ -350,6 +350,7 @@ static void __enable_runtime(struct rq *rq) | |||
350 | spin_lock(&rt_rq->rt_runtime_lock); | 350 | spin_lock(&rt_rq->rt_runtime_lock); |
351 | rt_rq->rt_runtime = rt_b->rt_runtime; | 351 | rt_rq->rt_runtime = rt_b->rt_runtime; |
352 | rt_rq->rt_time = 0; | 352 | rt_rq->rt_time = 0; |
353 | rt_rq->rt_throttled = 0; | ||
353 | spin_unlock(&rt_rq->rt_runtime_lock); | 354 | spin_unlock(&rt_rq->rt_runtime_lock); |
354 | spin_unlock(&rt_b->rt_runtime_lock); | 355 | spin_unlock(&rt_b->rt_runtime_lock); |
355 | } | 356 | } |
@@ -388,7 +389,7 @@ static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun) | |||
388 | int i, idle = 1; | 389 | int i, idle = 1; |
389 | cpumask_t span; | 390 | cpumask_t span; |
390 | 391 | ||
391 | if (rt_b->rt_runtime == RUNTIME_INF) | 392 | if (!rt_bandwidth_enabled() || rt_b->rt_runtime == RUNTIME_INF) |
392 | return 1; | 393 | return 1; |
393 | 394 | ||
394 | span = sched_rt_period_mask(); | 395 | span = sched_rt_period_mask(); |
@@ -486,6 +487,9 @@ static void update_curr_rt(struct rq *rq) | |||
486 | curr->se.exec_start = rq->clock; | 487 | curr->se.exec_start = rq->clock; |
487 | cpuacct_charge(curr, delta_exec); | 488 | cpuacct_charge(curr, delta_exec); |
488 | 489 | ||
490 | if (!rt_bandwidth_enabled()) | ||
491 | return; | ||
492 | |||
489 | for_each_sched_rt_entity(rt_se) { | 493 | for_each_sched_rt_entity(rt_se) { |
490 | rt_rq = rt_rq_of_se(rt_se); | 494 | rt_rq = rt_rq_of_se(rt_se); |
491 | 495 | ||