From: Paolo Ornati <ornati@fastwebnet.it>
To: Alberto Gonzalez <info@gnebu.es>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Question about fair schedulers
Date: Sat, 23 Jun 2007 15:26:53 +0200 [thread overview]
Message-ID: <20070623152653.05ebac64@localhost> (raw)
In-Reply-To: <200706231001.02497.info@gnebu.es>
On Sat, 23 Jun 2007 10:01:02 +0200
Alberto Gonzalez <info@gnebu.es> wrote:
> I see. So you mean that in 90% of the cases the mainline scheduler behaves
> better than fair schedulers, but when its "logic" fails it behaves much worse
> (the other 10% cases)?
Yes and no... the "logic" is supposed to identify what processes are
somehow interactive and give them more priority / CPU time.
This makes the system behaves better when there are CPU hog processes
(like encoders etc...) because the interactive ones doesn't suffer too
much.
The big problem is that it can identify an almost CPU hog process as
interactive.... and giving him an insane amount of CPU starve the
others.
In my case it was "trancode", and I assure you... it wasn't funny.
Sometimes it happened that running it (at standard nice 0) made
the machine totally unusable! (something like 30s to switch from X to
a virtual terminal... and I don't tell you how hard was doing login and
killing/renicing it).
So far I've seen these pathological behaviour only with trancode and
wine (only with particular programs I don't remember now).
But the fact is, the "interactivity estimator" is too fragile, and when
it fails it can do much damage.
Fair scheduler instead:
- are robust
- provide consistent behaviour
- provide good interactivity within the bounds of fairness
> In my very simple test scenario the mainline scheduler
> did behave much better.
Of course... because of the two competing processes the
"interactive" (for you) one needs 60%, that is more than it's 50% fair
share.
The real solution is to use nice levels so the scheduler doesn't have
to guess what process is more important.
And yes, programs/distributions should set good defaults for you... and
if they don't, just complain to them :)
--
Paolo Ornati
Linux 2.6.22-rc5-g0864a4e2 on x86_64
next prev parent reply other threads:[~2007-06-23 13:32 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-22 22:07 Question about fair schedulers Alberto Gonzalez
2007-06-23 0:55 ` Kyle Moffett
2007-06-23 7:46 ` Alberto Gonzalez
2007-06-23 16:35 ` Kyle Moffett
2007-06-23 17:28 ` Alberto Gonzalez
2007-06-24 20:57 ` Jesper Juhl
2007-06-24 19:36 ` David Schwartz
2007-06-26 12:19 ` Helge Hafting
2007-06-27 12:39 ` Alberto Gonzalez
2007-06-23 7:06 ` Paolo Ornati
2007-06-23 8:01 ` Alberto Gonzalez
2007-06-23 8:23 ` Willy Tarreau
2007-06-23 9:18 ` Alberto Gonzalez
2007-06-23 9:28 ` Russell Harmon
2007-06-23 10:30 ` Willy Tarreau
2007-06-23 10:45 ` Alberto Gonzalez
2007-06-23 10:50 ` Willy Tarreau
2007-06-23 11:00 ` Alberto Gonzalez
2007-06-23 11:05 ` Tom Spink
2007-06-23 11:26 ` Alberto Gonzalez
2007-06-23 11:51 ` Willy Tarreau
2007-06-27 20:28 ` Bill Davidsen
2007-06-23 13:26 ` Paolo Ornati [this message]
2007-06-23 13:56 ` Alberto Gonzalez
2007-06-23 14:28 ` Paolo Ornati
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=20070623152653.05ebac64@localhost \
--to=ornati@fastwebnet.it \
--cc=info@gnebu.es \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).