Re: [PATCH] kernel/sched/rt: Add a rescheduling point

From: Peter Zijlstra
Date: Tue Jan 24 2017 - 10:18:14 EST


On Tue, Jan 24, 2017 at 03:43:54PM +0100, Sebastian Andrzej Siewior wrote:
> On 2017-01-24 15:40:06 [+0100], To Peter Zijlstra wrote:
> > Since the change in commit fd7a4bed1835 ("sched, rt: Convert
> > switched_{from, to}_rt() / prio_changed_rt() to balance callbacks") we
> > don't reschedule a task under certain circumstances:
>
> |switched_to_dl()
> |{
>
> | if (rq->curr != p) {
> | #ifdef CONFIG_SMP
> | if (tsk_nr_cpus_allowed(p) > 1 && rq->dl.overloaded)
> | queue_push_tasks(rq);
> | #else
> | if (dl_task(rq->curr))
> | check_preempt_curr_dl(rq, p, 0);
> | else
> | resched_curr(rq);
> | #endif
> | }
> | }
>
> This looks like it asks for a similar change.

Indeed.