Re: [RFC 0/12][PATCH] SCHED_DEADLINE: core of the scheduling class

From: Peter Zijlstra
Date: Tue Dec 29 2009 - 07:26:23 EST


On Fri, 2009-10-16 at 17:40 +0200, Raistlin wrote:
> @@ -5966,10 +5982,14 @@ void rt_mutex_setprio(struct task_struct *p, int prio)
> if (running)
> p->sched_class->put_prev_task(rq, p);
>
> - if (rt_prio(prio))
> - p->sched_class = &rt_sched_class;
> - else
> - p->sched_class = &fair_sched_class;
> + if (deadline_task(p))
> + p->sched_class = &deadline_sched_class;
> + else {
> + if (rt_prio(prio))
> + p->sched_class = &rt_sched_class;
> + else
> + p->sched_class = &fair_sched_class;
> + }

This looks wrong.

This is PI code, so the effective class should be determined based on
the 'priority' not on the 'policy'.

I understand we don't yet have deadline inheritance like things in
place, but this would be where we should make use of the simple ceiling
protocol to boost things for now.


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