aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched/fair.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/fair.c')
-rw-r--r--kernel/sched/fair.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c
index bc9cfeaac8bd..500f5db0de0b 100644
--- a/kernel/sched/fair.c
+++ b/kernel/sched/fair.c
@@ -4470,6 +4470,8 @@ static void __account_cfs_rq_runtime(struct cfs_rq *cfs_rq, u64 delta_exec)
4470 if (likely(cfs_rq->runtime_remaining > 0)) 4470 if (likely(cfs_rq->runtime_remaining > 0))
4471 return; 4471 return;
4472 4472
4473 if (cfs_rq->throttled)
4474 return;
4473 /* 4475 /*
4474 * if we're unable to extend our runtime we resched so that the active 4476 * if we're unable to extend our runtime we resched so that the active
4475 * hierarchy can be throttled 4477 * hierarchy can be throttled
@@ -4673,6 +4675,9 @@ static u64 distribute_cfs_runtime(struct cfs_bandwidth *cfs_b,
4673 if (!cfs_rq_throttled(cfs_rq)) 4675 if (!cfs_rq_throttled(cfs_rq))
4674 goto next; 4676 goto next;
4675 4677
4678 /* By the above check, this should never be true */
4679 SCHED_WARN_ON(cfs_rq->runtime_remaining > 0);
4680
4676 runtime = -cfs_rq->runtime_remaining + 1; 4681 runtime = -cfs_rq->runtime_remaining + 1;
4677 if (runtime > remaining) 4682 if (runtime > remaining)
4678 runtime = remaining; 4683 runtime = remaining;