[lkml]   [2006]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [2.6.16-rc6 patch] fix interactive task starvation
    On Saturday 18 March 2006 19:05, Andrew Morton wrote:
    > Mike Galbraith <> 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 <>

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2006-03-18 09:20    [W:0.020 / U:6.628 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site