The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* Re: [Announce] [patch] Modular Scheduler Core and Completely Fair
@ 2007-04-15  6:31 Al Boldi
  2007-04-16  8:53 ` Al Boldi
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Al Boldi @ 2007-04-15  6:31 UTC (permalink / raw)
  To: linux-kernel

William Lee Irwin III wrote:
> On Fri, Apr 13, 2007 at 10:21:00PM +0200, Ingo Molnar wrote:
> > [announce] [patch] Modular Scheduler Core and Completely Fair Scheduler
> > [CFS] i'm pleased to announce the first release of the "Modular
> > Scheduler Core and Completely Fair Scheduler [CFS]" patchset:
> >    http://redhat.com/~mingo/cfs-scheduler/sched-modular+cfs.patch
> > This project is a complete rewrite of the Linux task scheduler. My goal
> > is to address various feature requests and to fix deficiencies in the
> > vanilla scheduler that were suggested/found in the past few years, both
> > for desktop scheduling and for server scheduling workloads.
> > [ QuickStart: apply the patch to v2.6.21-rc6, recompile, reboot. The
> >   new scheduler will be active by default and all tasks will default
> >   to the new SCHED_FAIR interactive scheduling class. ]
>
> A pleasant surprise, though I did see it coming.

Same here, but I didn't expect it so soon.  Thanks!

> >    The CFS patch uses a completely different approach and implementation
> >    from RSDL/SD. My goal was to make CFS's interactivity quality exceed
> >    that of RSDL/SD, which is a high standard to meet :-) Testing
> >    feedback is welcome to decide this one way or another.

I slammed this patch on 2.6.20.6 with some ugly rejects but it did compile, 
then tested, so my results may be affected by the rejects.

Boot into /bin/sh.
Run chew.c on three different VT's with different nice each.  Observe.

Console 1:
pid 615, prio  19, out for   19 ms, ran for    0 ms, load   4%
pid 615, prio  19, out for   19 ms, ran for    0 ms, load   4%
pid 615, prio  19, out for   19 ms, ran for    0 ms, load   4%
pid 615, prio  19, out for   19 ms, ran for    0 ms, load   4%
pid 615, prio  19, out for   77 ms, ran for    0 ms, load   1%
pid 615, prio  19, out for  125 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for  209 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for  346 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for  552 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for  882 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for 1231 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for 1335 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for 1218 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for 1254 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for 1774 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for 1946 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for 1942 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for 2749 ms, ran for    0 ms, load   0%
pid 615, prio  19, out for 3217 ms, ran for    0 ms, load   0%

Console 2:
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  26%
pid 616, prio   0, out for    9 ms, ran for    2 ms, load  24%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  26%
pid 616, prio   0, out for    9 ms, ran for    2 ms, load  24%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  26%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  26%
pid 616, prio   0, out for    9 ms, ran for    2 ms, load  24%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  26%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  24%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  26%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  26%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  24%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  26%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  24%
pid 616, prio   0, out for    7 ms, ran for    2 ms, load  26%
pid 616, prio   0, out for    8 ms, ran for    2 ms, load  26%
pid 616, prio   0, out for    9 ms, ran for    2 ms, load  24%
pid 616, prio   0, out for    5 ms, ran for    2 ms, load  26%

Console 3:
pid 617, prio -10, out for    3 ms, ran for    8 ms, load  74%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%
pid 617, prio -10, out for    3 ms, ran for    8 ms, load  74%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%
pid 617, prio -10, out for    3 ms, ran for    8 ms, load  74%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%
pid 617, prio -10, out for    3 ms, ran for    8 ms, load  74%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%
pid 617, prio -10, out for    3 ms, ran for    8 ms, load  74%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%
pid 617, prio -10, out for    3 ms, ran for    8 ms, load  74%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%
pid 617, prio -10, out for    3 ms, ran for    8 ms, load  74%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%
pid 617, prio -10, out for    3 ms, ran for    7 ms, load  72%

It looks like negative nice affects positive nice adversely.

> >    CFS's design is quite radical: it does not use runqueues, it uses a
> >    time-ordered rbtree to build a 'timeline' of future task execution,
> >    and thus has no 'array switch' artifacts (by which both the vanilla
> >    scheduler and RSDL/SD are affected).

Sounds interresting, but it looks like CPU-bound procs easily steal sleeping 
proc timeslices, thus making it rather unfair, affecting interactivity.

The latencies look great, though.

Also, it may be useful to lower-bound timeslices, as they become ridiculously 
small ( < 1ms ).


Thanks!

--
Al


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2007-04-19  6:34 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1HOuCl-0000K8-3c@mx1.bon.at>
2007-04-19  6:11 ` [Announce] [patch] Modular Scheduler Core and Completely Fair Ph. Marek
2007-04-15  6:31 Al Boldi
2007-04-16  8:53 ` Al Boldi
2007-04-16 10:18   ` Peter Williams
2007-04-16 10:42     ` Al Boldi
2007-04-16 13:05       ` Peter Williams
2007-04-16 14:38         ` Al Boldi
2007-04-17  0:42           ` Peter Williams
2007-04-16 14:38 ` Al Boldi
2007-04-17 16:29 ` Al Boldi
2007-04-17 21:45   ` William Lee Irwin III
2007-04-18  4:53     ` Al Boldi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox