lkml.org 
[lkml]   [2011]   [May]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] sched: remove starvation in check_preempt_equal_prio()
From
Date
On Tue, 2011-05-24 at 22:01 +0800, Hillf Danton wrote:
> On Tue, May 24, 2011 at 9:47 PM, Peter Zijlstra <peterz@infradead.org> 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.

If task p is currently running and is a FIFO task, you do not push it
off for another task of same prio.

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

I'm not sure I can change to PARSE yet.

-- Steve




\
 
 \ /
  Last update: 2011-05-24 16:27    [W:1.438 / U:0.760 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site