Re: [ANNOUNCE] RSDL completely fair starvation free interactive cpu scheduler

From: Con Kolivas
Date: Sun Mar 04 2007 - 08:50:36 EST


On Monday 05 March 2007 00:25, Gene Heskett wrote:
> On Sunday 04 March 2007, Con Kolivas wrote:
> >On Sunday 04 March 2007 23:24, Gene Heskett wrote:
> >> On Sunday 04 March 2007, Con Kolivas wrote:
> >> >On Sunday 04 March 2007 22:08, Gene Heskett wrote:
> >> >> On Sunday 04 March 2007, Con Kolivas wrote:
> >> >> >This message is to announce the first general public release of
> >> >> > the "Rotating Staircase DeadLine" cpu scheduler.
> >> >>
> >> >> I assume to test this, we select the deadline scheduler?
> >> >
> >> >No, only the "deadline" in the name is shared. This is a cpu process
> >> > scheduler whereas the deadline scheduler you're thinking of is an
> >> > I/O scheduler. To test this you just patch it in and it replaces the
> >> > current mainline cpu scheduler (the same way the staircase cpu
> >> > scheduler in -ck replaces it).
> >>
> >> Oh, then I tried to put the -ck1 patch on top of that, and blew the
> >> tree up. I'd built it the first time with the deadline scheduler as
> >> the default while I was waiting on your reply.
> >
> >Yes, sorry. This is mutually exclusive with the -ck1 patch. It is a
> > standalone piece of code.
>
> I just this instant got it booted, what with building a driver for nvidia
> and all. I'll let you know what I think in a few hours after I've gotten
> a feel for it.

Great, thanks.

Just to make it clear. The purpose of this scheduler is at all costs to
maintain absolute fairness no matter what type of load it is put under. This
means that if you heavily load up your machine without the use of 'nice' then
your interactive tasks _will_ slow down proportionately to the amount of cpu
you use. So doing make -j4 for example will make any other task started in
taht presence run precisely 1/5th speed, but they will still be responsive,
have low latency (and audio shouldn't skip for example).

There will be times when the mainline scheduler feels more interactive than
this scheduler, and that is because it has significant unfairness granted
towards interactive tasks. This degree of unfairness in an effort to maintain
interactivity has been criticised and causes problems in certain environments
with both loss of fairness, relative starvation and is not entirely
predictable.

This was designed to be robust for any application since linux demands a
general purpose scheduler design, while preserving interactivity, instead of
optimising for one particular end use.

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