Re: [PATCH 03/14] sched: SCHED_DEADLINE structures & implementation.

From: Juri Lelli
Date: Mon Oct 14 2013 - 12:59:01 EST


On 10/14/2013 01:44 PM, Peter Zijlstra wrote:
> On Mon, Oct 14, 2013 at 12:43:35PM +0200, Juri Lelli wrote:
>> +static void update_curr_dl(struct rq *rq)
>> +{
>> + struct task_struct *curr = rq->curr;
>> + struct sched_dl_entity *dl_se = &curr->dl;
>> + u64 delta_exec;
>> +
>> + if (!dl_task(curr) || !on_dl_rq(dl_se))
>> + return;
>> +
>> + /*
>> + * Consumed budget is computed considering the time as
>> + * observed by schedulable tasks (excluding time spent
>> + * in hardirq context, etc.)
>> + */
>> + delta_exec = rq->clock_task - curr->se.exec_start;
>
> Oh, cute.. So we compute deadlines from rq->clock but compute runtime
> from rq->clock_task.
>
> So won't that give funny results in that clock_task is generally slower
> than clock; so people get more 'time'.
>
> Maybe there's some illumination on this point further on; I'll continue
> reading.
>

We discussed on this point in the past...

On 04/23/2012 12:31 PM, Peter Zijlstra wrote:> On Fri, 2012-04-06 at 09:14
+0200, Juri Lelli wrote:
>> + dl_se->deadline = rq->clock + dl_se->dl_deadline;
>
> You might want to use rq->clock_task, this clock excludes times spend in
> hardirq context and steal-time (when paravirt).
>
> Then again, it might not want to use that.. but its something you might
> want to consider and make explicit by means of a comment.
>

On 04/24/2012 08:29 AM, Dario Faggioli wrote:> On Tue, 2012-04-24 at 00:25
+0100, Tommaso Cucinotta wrote:
>>> The idea is that ->clock_task gives the time as observed by schedulable
>>> tasks and excludes other muck.
>>
>> so clock_task might be better to compute the consumed budget at task
>> deschedule, but for setting deadlines one period ahead in the future
>> guess the regular wall-time rq->clock is the one to be used?
>>
> Yep, that was the idea, unless my recollection has completely gone
> flaky! :-P
>
> Perhaps adding a comment saying right this thing above, as Peter
> suggested?

And we kind of agreed on the current use of the different clocks. Do you think
we have to reason (test) more about this? Or do we live with that and see if
something strange happens? (I actually didn't see anything suspiciuos in my
use of the patchset).

Thanks,

- Juri
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/