Re: [BUG] How to get real-time priority using idle priority

From: Peter Zijlstra
Date: Thu Jan 15 2009 - 06:41:41 EST


On Thu, 2009-01-15 at 12:37 +0100, Mike Galbraith wrote:
> On Thu, 2009-01-15 at 11:30 +0100, Mike Galbraith wrote:
> > On Thu, 2009-01-15 at 11:14 +0100, Peter Zijlstra wrote:
> > >
> > > Which leads me to suggest the following
> > >
> > > ---
> > > diff --git a/kernel/sched_fair.c b/kernel/sched_fair.c
> > > index 8e1352c..f2d2d94 100644
> > > --- a/kernel/sched_fair.c
> > > +++ b/kernel/sched_fair.c
> > > @@ -283,7 +283,7 @@ static void update_min_vruntime(struct cfs_rq
> > > *cfs_rq)
> > > struct sched_entity,
> > > run_node);
> > >
> > > - if (vruntime == cfs_rq->min_vruntime)
> > > + if (!cfs_rq->curr)
> > > vruntime = se->vruntime;
> > > else
> > > vruntime = min_vruntime(vruntime, se->vruntime);
> >
> > Aha. Yeah, I'll re-test with that instead.
>
> Works a treat.

*cheer* lets get this merged asap, and CC -stable as well.

> > > The below can be split into 3 patches:
> > >
> > > - the idle weight change (do we really need that? why?)
> >
> > I saw idle tasks slamming extremely far. I'll verify, less is more.
>
> time advanced in 100ms
> weight=2
> 64765.988352
> 67012.881408
> 88501.412352
>
> weight=3
> 35496.181411
> 34130.971298
> 35497.411573
>
> Measured from an RT shell doing..
> while sleep .1; do cat /proc/sched_debug >> /debug; done
> ...for a pinned chew. Not necessarily gnats-arse accurate, but good
> enough to see the margin of error is pretty high with weight=2.
>
> Your call.

Right, 3 does look more stable, ok lets go with that.

Thanks Mike!

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