Re: [PATCH] sched/deadline: document behavior of sched_yield()

From: luca abeni
Date: Fri Sep 09 2016 - 06:01:04 EST


Hi Tommaso,


On Fri, 9 Sep 2016 10:44:10 +0200
Tommaso Cucinotta <tommaso.cucinotta@xxxxxxxx> wrote:
[...]
> +4.4 Behavior of sched_yield()
> +-----------------------------
> +
> + When a SCHED_DEADLINE task calls sched_yield(), it gives up its
> + remaining runtime and is suspended till the next reservation period,
Maybe I am nitpicking, but I suspect "until" would be more appropriate
than "till" :)

More seriously: the concept of "reservation period" has not been
defined in the document until now... So, I suspect this sentence should
be rephrased using the concepts and terminology defined in the
document...
Maybe instead of saying that the task is suspended you can say that
since the remaining runtime goes to 0 the task is immediately throttled,
and will be able to execute again only after the time is equal to the
scheduling deadline (as explained in "2. Scheduling algorithm").

Except for this, the patch looks good to me, thanks for documenting
yield()!



Thanks,
Luca



> + when its runtime will be replenished. This allows the task to
> + wake-up exactly at the beginning of the next period. Also, this may
> + be useful in the future with bandwidth reclaiming mechanisms, where
> + sched_yield() will make the leftoever runtime available for
> + reclamation by other SCHED_DEADLINE tasks.
> +
> +
> 5. Tasks CPU affinity
> =====================
>