Re: [RFC PATCH] sched/deadline: show leftover runtime and abs deadline in /proc/-/sched

From: luca abeni
Date: Tue Oct 25 2016 - 06:10:31 EST


On Tue, 25 Oct 2016 10:33:21 +0100
Juri Lelli <juri.lelli@xxxxxxx> wrote:

> On 25/10/16 11:25, Peter Zijlstra wrote:
> > On Tue, Oct 25, 2016 at 12:32:53AM +0200, Tommaso Cucinotta wrote:
> > > Hi all,
> > >
> > > this is a tiny patch providing readings of the current (leftover)
> > > runtime and absolute deadline in /proc/*/sched. Mostly useful for
> > > debugging, I heard others playing with SCHED_DEADLINE had some
> > > need for similar patches as well.
> > >
> > > In addition to debugging, reading the leftover runtime is
> > > generally useful for adaptive/incremental RT logics that need to
> > > check whether there's enough runtime left for refining the
> > > computed result, or just use what we've computed so far and block
> > > till the next instance. Also, knowing what the absolute
> > > scheduling deadline is (along with what clock it refers to) might
> > > be useful for synchronization purposes. (albeit, for real
> > > production code, I wouldn't like to parse /proc anyway, rather
> > > I'd prefer to retrieve those params via eg
> > > sched_getscheduler()?)
> >
> > So for programmatic use, this interface is not recommended. For
> > debugging this is fine.
> >
> > Not sure what form the programmatic interface should take, we have
> > precedence in sys_sched_rr_get_interval() for a syscall (we could
> > even abuse this one).
> >
> > Anybody any ideas?
> >
>
> Maybe extend getattr() to return actual runtime params? (instead of
> the static ones, or along to them)

This is similar to what I did in the past: I used (or maybe abused?)
the "flags" argument of getattr() to tell it if I wanted it to return
the current runtime and scheduling deadline, or the maximum runtime and
relative deadline.

I think that both the "/proc based" interface proposed by Tommaso and
the syscall-based one are useful (for different purposes).


Luca