lkml.org 
[lkml]   [2006]   [Mar]   [18]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromCon Kolivas <>
SubjectRe: [2.6.16-rc6 patch] fix interactive task starvation
DateSat, 18 Mar 2006 19:15:47 +1100
On Saturday 18 March 2006 19:05, Andrew Morton wrote:
> Mike Galbraith <efault@gmx.de> wrote:
> > The patch below fixes a starvation problem that occurs when a stream of
> >  highly interactive tasks delay an array switch for extended periods
> >  despite EXPIRED_STARVING(rq) being true.  AFAIKT, the only choice is to
> >  enqueue awakening tasks on the expired array in this case.
> >
> >  Without this patch, it can be nearly impossible to remotely login to a
> >  busy server, and interactive shell commands can starve for minutes.
> >
> >  This has not been verified by anyone.  Comments?
>
> What does that question mean, btw?

He's waiting for me to say I don't like it. But I do like it.

> -mm is looking like linux-2.6.38 at present so of course things got tangled
> up - sched-activate-sched-batch-expired.patch modifies __activate_task().
>> I ended up with the below.>> Which do we think is more likely to be true - batch_task(p) or
> expired_starving(rq)?  batch_task() looks cheaper to evaluate so I put that
> first.  But I guess it's less likely to be true.  hmm.

Depends entirely on workload so it's impossible to predict in advance. Any 
order will do I suspect.

> +	if (unlikely(batch_task(p) || expired_starving(rq)))

Looks good to me.

Acked-by: Con Kolivas <kernel@kolivas.org>

Cheers,
Con
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-03-18 08:20    [W:0.508 / U:0.140 seconds]
©2003-2008 Jasper Spaans