From: Peter Williams <pwil3058@bigpond.net.au>
To: Peter Williams <pwil3058@bigpond.net.au>
Cc: Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Con Kolivas <kernel@kolivas.org>, Nick Piggin <npiggin@suse.de>,
Mike Galbraith <efault@gmx.de>,
Arjan van de Ven <arjan@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
caglar@pardus.org.tr, Willy Tarreau <w@1wt.eu>,
Gene Heskett <gene.heskett@gmail.com>
Subject: Re: [patch] CFS scheduler, v3
Date: Sat, 21 Apr 2007 18:07:56 +1000 [thread overview]
Message-ID: <4629C65C.2050309@bigpond.net.au> (raw)
In-Reply-To: <4628B1DF.8000400@bigpond.net.au>
Peter Williams wrote:
> Peter Williams wrote:
>> Ingo Molnar wrote:
>>> your suggestion concentrates on the following scenario: if a task
>>> happens to schedule in an 'unlucky' way and happens to hit a busy
>>> period while there are many idle periods. Unless i misunderstood your
>>> suggestion, that is the main intention behind it, correct?
>>
>> You misunderstand (that's one of my other schedulers :-)). This one's
>> based on the premise that if everything happens as the task expects it
>> will get the amount of CPU bandwidth (over this short period) that
>> it's entitled to. In reality, sometimes it will get more and
>> sometimes less but on average it should get what it deserves. E.g. If
>> you had two tasks with equal nice and both had demands of 90% of a CPU
>> you'd expect them each to get about half of the CPU bandwidth. Now
>> suppose that one of them uses 5ms of CPU each time it got onto the CPU
>> and the other uses 10ms. If these two tasks just round robin with
>> each other the likely outcome is that the one with the 10ms bursts
>> will get twice as much CPU as the other but my proposed method should
>> prevent and cause them to get roughly the same amount of CPU. (I
>> believe this was a scenario that caused problems with O(1) and
>> required a fix at some stage?)
Another advantage of this mechanism is that, all else being equal, it
will tend to run tasks that use short bursts of CPU ahead of those that
use long bursts and this tends to reduce the overall time spent waiting
for CPU by all tasks on the system which is good for throughput. I.e.
in general, a task that tends to use short bursts of CPU will make other
tasks wait less time than will one that tends to use long bursts.
So this means that you were right and it is good in the scenario that
you suggested even though that wasn't the motivation behind the design.
This means that this scheduler should be good for improving latency on
servers that aren't fully loaded as well as providing good fairness and
responsiveness when the system is fully loaded. (Fingers crossed.)
Peter
--
Peter Williams pwil3058@bigpond.net.au
"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
next prev parent reply other threads:[~2007-04-21 8:08 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-18 17:50 [patch] CFS scheduler, v3 Ingo Molnar
2007-04-18 21:26 ` William Lee Irwin III
2007-04-18 21:33 ` Ingo Molnar
2007-04-20 19:24 ` Christoph Lameter
2007-04-20 19:26 ` Siddha, Suresh B
2007-04-20 19:29 ` William Lee Irwin III
2007-04-20 19:33 ` Christoph Lameter
2007-04-20 19:38 ` William Lee Irwin III
2007-04-20 19:44 ` Christoph Lameter
2007-04-20 20:03 ` William Lee Irwin III
2007-04-20 20:11 ` Siddha, Suresh B
2007-04-24 17:39 ` Christoph Lameter
2007-04-24 17:42 ` Siddha, Suresh B
2007-04-24 17:47 ` Christoph Lameter
2007-04-24 17:50 ` Siddha, Suresh B
2007-04-24 17:55 ` Christoph Lameter
2007-04-24 18:06 ` Siddha, Suresh B
2007-04-20 0:10 ` Peter Williams
2007-04-20 4:48 ` Willy Tarreau
2007-04-20 6:02 ` Peter Williams
2007-04-20 6:21 ` Peter Williams
2007-04-20 7:26 ` Willy Tarreau
2007-04-20 6:46 ` Ingo Molnar
2007-04-20 7:32 ` Peter Williams
2007-04-20 12:28 ` Peter Williams
2007-04-21 8:07 ` Peter Williams [this message]
2007-04-20 13:15 ` William Lee Irwin III
2007-04-21 0:23 ` Peter Williams
2007-04-21 5:07 ` William Lee Irwin III
2007-04-21 5:38 ` Peter Williams
2007-04-21 7:32 ` Peter Williams
2007-04-21 7:54 ` Ingo Molnar
2007-04-21 8:33 ` William Lee Irwin III
2007-04-21 8:57 ` Ingo Molnar
2007-04-21 16:23 ` William Lee Irwin III
2007-04-21 10:37 ` Peter Williams
2007-04-21 12:21 ` Peter Williams
2007-04-20 14:21 ` Peter Williams
2007-04-20 14:33 ` Ingo Molnar
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=4629C65C.2050309@bigpond.net.au \
--to=pwil3058@bigpond.net.au \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=caglar@pardus.org.tr \
--cc=efault@gmx.de \
--cc=gene.heskett@gmail.com \
--cc=kernel@kolivas.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=npiggin@suse.de \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=w@1wt.eu \
/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