[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <94f331e7-913e-04c8-c065-765d39c851f7@redhat.com>
Date: Thu, 11 May 2017 19:08:22 +0200
From: Daniel Bristot de Oliveira <bristot@...hat.com>
To: Peter Zijlstra <peterz@...radead.org>
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 05/04/2017 04:26 PM, Peter Zijlstra wrote:
> 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.
Correct. I will improve the explanation.
Thank you very much for all comments :-)
-- Daniel
Powered by blists - more mailing lists