Re: [RFC PATCH v2 6/6] sched/fair: Implement starvation monitor

From: Juri Lelli
Date: Fri Aug 07 2020 - 10:12:12 EST


On 07/08/20 15:55, luca abeni wrote:
> On Fri, 7 Aug 2020 15:43:53 +0200
> Juri Lelli <juri.lelli@xxxxxxxxxx> wrote:
>
> > On 07/08/20 15:28, luca abeni wrote:
> > > Hi Juri,
> > >
> > > On Fri, 7 Aug 2020 11:56:04 +0200
> > > Juri Lelli <juri.lelli@xxxxxxxxxx> wrote:
> > >
> > > > Starting deadline server for lower priority classes right away
> > > > when first task is enqueued might break guarantees
> > >
> > > Which guarantees are you thinking about, here? Response times of
> > > fixed priority tasks?
> >
> > Response time, but also wakeup latency (which, for better or worse, is
> > another important metric).
> >
> > > If fixed priority tasks are also scheduled through deadline servers,
> > > then you can provide response-time guarantees to them even when
> > > lower-priority/non-real-time tasks are scheduled through deadline
> > > servers.
> >
> > Right, but I fear we won't be able to keep current behavior for
> > wakeups: RT with highest prio always gets scheduled right away?
>
> Uhm... I think this depends on how the servers' parameters are
> designed: assigning "wrong" (or "bad") parameters to the server used to
> schedule RT tasks, this property is broken.
>
> (however, notice that even with the current patchset the highest
> priority task might be scheduled with some delay --- if the SCHED_OTHER
> deadline server is active because SCHED_OTHER tasks are being starved).

But that's OK I think, because if the server is active it means that
OTHER didn't get a chance to run for some time and if it continues to
hung than worse problems than breaking FIFO assumptions will happen. :-/