[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Wed, 09 Sep 2020 14:59:01 +0200
From: Lucas Stach <l.stach@...gutronix.de>
To: peterz@...radead.org, Juri Lelli <juri.lelli@...hat.com>
Cc: Ingo Molnar <mingo@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
linux-kernel@...r.kernel.org, kernel@...gutronix.de,
patchwork-lst@...gutronix.de
Subject: Re: [PATCH] sched/deadline: Fix stale throttling on de-/boosted
tasks
On Mi, 2020-09-02 at 11:43 +0200, peterz@...radead.org wrote:
> On Wed, Sep 02, 2020 at 08:00:24AM +0200, Juri Lelli wrote:
> > On 31/08/20 13:07, Lucas Stach wrote:
> > > When a boosted task gets throttled, what normally happens is that it's
> > > immediately enqueued again with ENQUEUE_REPLENISH, which replenishes the
> > > runtime and clears the dl_throttled flag. There is a special case however:
> > > if the throttling happened on sched-out and the task has been deboosted in
> > > the meantime, the replenish is skipped as the task will return to its
> > > normal scheduling class. This leaves the task with the dl_throttled flag
> > > set.
> > >
> > > Now if the task gets boosted up to the deadline scheduling class again
> > > while it is sleeping, it's still in the throttled state. The normal wakeup
> > > however will enqueue the task with ENQUEUE_REPLENISH not set, so we don't
> > > actually place it on the rq. Thus we end up with a task that is runnable,
> > > but not actually on the rq and neither a immediate replenishment happens,
> > > nor is the replenishment timer set up, so the task is stuck in
> > > forever-throttled limbo.
> > >
> > > Clear the dl_throttled flag before dropping back to the normal scheduling
> > > class to fix this issue.
> > >
> > > Signed-off-by: Lucas Stach <l.stach@...gutronix.de>
> > Acked-by: Juri Lelli <juri.lelli@...hat.com>
>
> Thanks!
Does this mean the patch will get picked up as-is, or are there any
changes required?
Regards,
Lucas
Powered by blists - more mailing lists