Messages in this thread | | | Date | Tue, 16 Jun 2020 09:50:27 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH] sched/rt: Don't active rt throtting when no running cfs task |
| |
On Tue, 16 Jun 2020 20:37:29 +0800 Lichao Liu <liulichao@loongson.cn> wrote:
> Active rt throtting will dequeue rt_rq from rq at least 50ms, > When there is no running cfs task, do we still active it? >
This is something I would like to have.
Peter, what's your thought on this?
-- Steve
> Signed-off-by: Lichao Liu <liulichao@loongson.cn> > --- > kernel/sched/rt.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/kernel/sched/rt.c b/kernel/sched/rt.c > index df11d88c9895..d6524347cea0 100644 > --- a/kernel/sched/rt.c > +++ b/kernel/sched/rt.c > @@ -961,12 +961,13 @@ static int sched_rt_runtime_exceeded(struct rt_rq *rt_rq) > > if (rt_rq->rt_time > runtime) { > struct rt_bandwidth *rt_b = sched_rt_bandwidth(rt_rq); > + struct rq *rq = rq_of_rt_rq(rt_rq); > > /* > * Don't actually throttle groups that have no runtime assigned > * but accrue some time due to boosting. > */ > - if (likely(rt_b->rt_runtime)) { > + if (likely(rt_b->rt_runtime) && rq->cfs.nr_running > 0) { > rt_rq->rt_throttled = 1; > printk_deferred_once("sched: RT throttling activated\n"); > } else {
| |