[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170504142632.fdnwfqxcas7d3t7x@hirez.programming.kicks-ass.net>
Date: Thu, 4 May 2017 16:26:32 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Daniel Bristot de Oliveira <bristot@...hat.com>
Cc: Ingo Molnar <mingo@...hat.com>, Xunlei Pang <xpang@...hat.com>,
Juri Lelli <juri.lelli@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Luca Abeni <luca.abeni@...tannapisa.it>,
Tommaso Cucinotta <tommaso.cucinotta@...up.it>,
Romulo Silva de Oliveira <romulo.deoliveira@...c.br>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH RFC] sched/deadline: Use the revised wakeup rule for
suspending constrained dl tasks
On Thu, May 04, 2017 at 04:17:21PM +0200, Peter Zijlstra wrote:
> We use two difference CBS rules:
>
> 1) the original CBS rule for implicit deadline tasks;
> 2) the revised CBS rule for constrained deadline tasks.
> > @@ -500,6 +550,14 @@ static void update_dl_entity(struct sched_dl_entity *dl_se,
> >
> > if (dl_time_before(dl_se->deadline, rq_clock(rq)) ||
> > dl_entity_overflow(dl_se, pi_se, rq_clock(rq))) {
> > +
> > + if (unlikely(dl_is_constrained(dl_se) &&
> > + !dl_time_before(dl_se->deadline, rq_clock(rq)) &&
> > + !dl_se->dl_boosted)){
> > + update_dl_revised_wakeup(dl_se, rq);
> > + return;
> > + }
> > +
> > dl_se->deadline = rq_clock(rq) + pi_se->dl_deadline;
> > dl_se->runtime = pi_se->dl_runtime;
> > }
That comment above does not match the code. We can still use the
original CBS rule for constrained tasks.
We only use the revised CBS rule when the constrained task hasn't missed
its deadline yet.
Powered by blists - more mailing lists