Re: [PATCH] sched: remove starvation in check_preempt_equal_prio()

From: Hillf Danton
Date: Tue May 24 2011 - 10:01:15 EST


On Tue, May 24, 2011 at 9:47 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Tue, 2011-05-24 at 21:34 +0800, Hillf Danton wrote:
>> If there are pushable tasks and they are high enough in priority, in which
>> case task p is covered, the current could keep holding its CPU.
>
> -ENOPARSE..
>

Here the priority is same, then pushing task p off has little difference from
pushing any other pushable.

>> Even if current task has to release its CPU, requeuing task p could result in
>> starvation of tasks that are of same priority and have been waiting on RQ for
>> a couple of hours:/
>
> Starvation of the same priority tasks is a perfectly valid situation for
> SCHED_FIFO, also, your changelog fails to mention what you propose to do
> about it.
>
I did get curr requeued, and task_woken_rt() could do what I want.

If you change ENOPARSE to PARSE, I will change task_woken_rt accordingly.

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