From: Willy Tarreau <w@1wt.eu>
To: Con Kolivas <kernel@kolivas.org>
Cc: Bill Davidsen <davidsen@tmr.com>,
jos poortvliet <jos@mijnkamer.nl>,
ck@vds.kolivas.org, Gene Heskett <gene.heskett@gmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: [ANNOUNCE] RSDL completely fair starvation free interactive cpu scheduler
Date: Tue, 6 Mar 2007 05:41:12 +0100 [thread overview]
Message-ID: <20070306044112.GA10707@1wt.eu> (raw)
In-Reply-To: <200703061118.44616.kernel@kolivas.org>
On Tue, Mar 06, 2007 at 11:18:44AM +1100, Con Kolivas wrote:
> On Tuesday 06 March 2007 10:05, Bill Davidsen wrote:
> > jos poortvliet wrote:
> > > Well, imho his current staircase scheduler already does a better job
> > > compared to mainline, but it won't make it in (or at least, it's not
> > > likely). So we can hope this WILL make it into mainline, but I wouldn't
> > > count on it.
> >
> > Wrong problem, what is really needed is to get CPU scheduler choice into
> > mainline, just as i/o scheduler finally did. Con has noted that for some
> > loads this will present suboptimal performance, as will his -ck patches,
> > as will the default scheduler. Instead of trying to make ANY one size
> > fit all, we should have a means to select, at runtime, between any of
> > the schedulers, and preferably to define an interface by which a user
> > can insert a new scheduler in the kernel (compile in, I don't mean
> > plugable) with clear and well defined rules for how that can be done.
>
> Been there, done that. Wli wrote the infrastructure for plugsched; I took his
> code and got it booting and ported 3 or so different scheduler designs. It
> allowed you to build as few or as many different schedulers into the kernel
> and either boot the only one you built into your kernel, or choose a
> scheduler at boot time. That code got permavetoed by both Ingo and Linus.
> After that I gave up on that code and handed it over to Peter Williams who
> still maintains it. So please note that I pushed the plugsched barrow
> previously and still don't think it's a bad idea, but the maintainers think
> it's the wrong approach.
In a way, I think they are right. Let me explain. Pluggable schedulers are
useful when you want to switch away from the default one. This is very useful
during development of a new scheduler, as well as when you're not satisfied
with the default scheduler. Having this feature will incitate many people to
develop their own scheduler for their very specific workload, and nothing
generic. It's a bit what happened after all : you, Peter, Nick, and Mike
have worked a lot trying to provide alternative solutions.
But when you think about it, there are other OSes which have only one scheduler
and which behave very well with tens of thousands of tasks and scale very well
with lots of CPUs (eg: solaris). So there is a real challenge here to try to
provide something at least as good and universal because we know that it can
exist. And this is what you finally did : work on a scheduler which ought to be
good with any workload.
Then, when we have a generic, good enough scheduler for most situations, I
think that it could be good to get the plugsched for very specific usages.
People working in HPC may prefer to allocate ressource differently for
instance. There may also be people refusing to mix tasks from different users
on two different siblings of one CPU for security reasons, etc... All those
would justify a plugable scheduler. But it should not be an excuse to provide
a set of bad schedulers and no good one.
The CPU scheduler is often compared to the I/O schedulers while in fact this
is a completely different story. The I/O schedulers are needed because the
hardware and filesystems may lead to very different behaviours, and the
workload may vary a lot (eg: news server, ftp server, cache, desktop, real
time streaming, ...). But at least, the default I/O scheduler was good enough
for most usages, and alternative ones are here to provide optimal solutions
to specific needs.
Regards,
Willy
next prev parent reply other threads:[~2007-03-06 4:44 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-04 7:00 [ANNOUNCE] RSDL completely fair starvation free interactive cpu scheduler Con Kolivas
2007-03-04 7:45 ` [ck] " Con Kolivas
2007-03-04 14:04 ` Con Kolivas
2007-03-04 11:08 ` Gene Heskett
2007-03-04 11:47 ` Con Kolivas
2007-03-04 12:24 ` Gene Heskett
2007-03-04 12:46 ` Con Kolivas
2007-03-04 13:25 ` Gene Heskett
2007-03-04 13:49 ` Con Kolivas
2007-03-04 14:11 ` Gene Heskett
2007-03-05 2:31 ` Zwane Mwaikambo
2007-03-05 3:16 ` Gene Heskett
2007-03-04 14:36 ` Willy Tarreau
2007-03-04 16:08 ` [ck] " jos poortvliet
2007-03-05 23:05 ` Bill Davidsen
2007-03-06 0:18 ` Con Kolivas
2007-03-06 4:41 ` Willy Tarreau [this message]
2007-03-06 5:39 ` Nicholas Miell
2007-03-06 19:04 ` jos poortvliet
2007-03-06 21:37 ` Bill Davidsen
2007-03-06 21:54 ` Willy Tarreau
2007-03-05 21:52 ` Con Kolivas
2007-03-08 8:53 ` Ingo Molnar
2007-03-08 10:07 ` Con Kolivas
2007-03-08 20:25 ` Fabio Comolli
2007-03-08 20:57 ` Con Kolivas
2007-03-08 21:31 ` Fabio Comolli
2007-03-09 21:11 ` [ck] " Rodney Gordon II
-- strict thread matches above, loose matches on Subject: below --
2007-03-04 20:35 Al Boldi
2007-03-04 21:49 ` Con Kolivas
[not found] ` <45EB45F7.3050208@simon.arlott.org.uk>
2007-03-04 22:27 ` Con Kolivas
2007-03-05 18:29 ` Simon Arlott
2007-03-05 21:36 ` Con Kolivas
2007-03-04 23:13 ` Willy Tarreau
2007-03-04 23:58 ` Con Kolivas
2007-03-05 1:09 ` Gene Heskett
2007-03-06 8:42 ` [ck] " Xavier Bestel
2007-03-06 15:15 ` Al Boldi
2007-03-11 18:11 ` Al Boldi
2007-03-11 21:52 ` Con Kolivas
2007-03-11 22:12 ` Con Kolivas
2007-03-12 4:42 ` Al Boldi
2007-03-12 4:53 ` Con Kolivas
2007-03-12 11:26 ` Al Boldi
2007-03-12 12:52 ` Con Kolivas
2007-03-12 14:14 ` Al Boldi
2007-03-12 14:58 ` [ck] " jos poortvliet
2007-03-12 17:41 ` Al Boldi
2007-03-12 18:05 ` Con Kolivas
2007-03-18 1:30 ` Bill Davidsen
2007-03-05 9:45 Nicolas Mailhot
2007-03-05 9:53 ` Gene Heskett
2007-03-05 10:00 ` Nicolas Mailhot
2007-03-05 15:22 ` Paolo Ciarrocchi
2007-03-05 18:37 ` Gene Heskett
2007-03-05 18:20 ` Lee Revell
2007-03-05 19:19 ` Gene Heskett
2007-03-05 22:40 ` Andrew Morton
2007-03-05 23:19 ` Gene Heskett
2007-03-06 2:23 ` Ed Tomlinson
2007-03-06 2:54 ` Linus Torvalds
2007-03-06 3:36 ` Gene Heskett
2007-03-09 4:04 ` Bill Davidsen
2007-03-09 6:31 ` Linus Torvalds
2007-03-09 7:04 ` Bill Huey
2007-03-09 10:54 ` William Lee Irwin III
2007-03-09 14:54 ` Bill Davidsen
2007-03-09 18:11 ` Linus Torvalds
2007-03-06 17:50 ` Bill Davidsen
2007-03-06 20:06 ` Con Kolivas
2007-03-09 4:21 ` Bill Davidsen
2007-03-06 4:57 Shawn Starr
2007-03-08 14:27 Tim Tassonis
2007-03-11 22:29 bert hubert
2007-03-11 22:57 ` Con Kolivas
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070306044112.GA10707@1wt.eu \
--to=w@1wt.eu \
--cc=ck@vds.kolivas.org \
--cc=davidsen@tmr.com \
--cc=gene.heskett@gmail.com \
--cc=jos@mijnkamer.nl \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.