Re: [RFC][PATCH 3/7] sched: Allow balance callbacks for check_class_changed()

From: Peter Zijlstra
Date: Tue Jun 02 2015 - 10:27:27 EST


On Tue, 2015-06-02 at 16:58 +0300, Kirill Tkhai wrote:
> 01.06.2015, 17:13, "Peter Zijlstra" <peterz@xxxxxxxxxxxxx>:

> > @@ -1010,7 +1014,7 @@ static inline void check_class_changed(s
> > if (prev_class != p->sched_class) {
> > if (prev_class->switched_from)
> > prev_class->switched_from(rq, p);
> > - /* Possble rq->lock 'hole'. */
> > +
>
> But switched_from_dl()->cancel_dl_timer() still unlocks rq->lock.
>
> It seems we should drop it (cancel_dl_timer) and move hrtimer_cancel()
> from switched_from_dl() to finish_task_switch(). It will be executed
> for all classes and completely take the functionality we implement
> cancel_dl_timer() for.

*groan* yes.. I don't like moving it into generic code though.

more thinking required.

> > p->sched_class->switched_to(rq, p);
> > } else if (oldprio != p->prio || dl_task(p))
> > p->sched_class->prio_changed(rq, p, oldprio);

--
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/