From: Nick Piggin <piggin@cyberone.com.au>
To: "Martin J. Bligh" <mbligh@aracnet.com>
Cc: Mike Fedyk <mfedyk@matchmail.com>,
linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Nick's scheduler policy v12
Date: Sat, 06 Sep 2003 16:38:05 +1000 [thread overview]
Message-ID: <3F5980CD.2040600@cyberone.com.au> (raw)
In-Reply-To: <6470000.1062819391@[10.10.2.4]>
Martin J. Bligh wrote:
>>Yep, as Mike mentioned, renicing X causes it to get bigger
>>timeslices with the stock scheduler. If you had 2 nice -20 processes,
>>they would each get a timeslice of 200ms, so you're harming their
>>latency.
>>
>
>Well, if I can be naive for a second (and I'll fully admit I don't
>understand the implications of this), there are two things here -
>either give it more of a timeslice (bandwidth increase), or make it
>more interactive (latency increase). Those two seem to be separable,
>but we don't bother. Seems better to pass a more subtle hint to the
>scheduler that this is interactive - nice seems like a very large
>brick between the eyes.
>
I think the two will always related. One means giving a higher
dynamic priority, the other a bigger timeslice. So you want
say gcc to have a 100ms timeslice with lowest scheduling prio,
but X to have a 20ms slice and a very high scheduling priority.
Unfortunately, the way the scheduler currently works, X might
use all its timeslice, then have to wait 100ms for gcc to finish
its. The way I do it is give a small timeslice to high prio tasks,
and lower priority tasks get progressively less.
When _only_ low priority tasks are running, they'll all get long
timeslices.
>
>>>There may be some more details around this, and I'd love to hear them,
>>>but I fundmantally believe that explitit fiddling with particular
>>>processes because we believe they're somehow magic is wrong (and so
>>>does Linus, from previous discussions).
>>>
>>Well it would be nice if someone could find out how to do it, but I
>>think that if we want X to be able to get 80% CPU when 2 other CPU hogs
>>are running, you have to renice it.
>>
>
>OK. So you renice it ... then your two cpu jobs exit, and you kick off
>xmms. Every time you waggle a window, X will steal the cpu back from
>xmms, and it'll stall, surely? That's what seemed to happen before.
>I don't see how you can fix anything by doing static priority alterations
>(eg nice), because the workload changes.
>
>I'm probably missing something ... feel free to slap me ;-)
>
OK well just as a rough idea of how mine works: worst case for
xmms is that X is at its highest dynamic priority (and reniced).
xmms will be at its highest dynamic prio, or maybe one or two
below that.
X will get to run for maybe 30ms first, then xmms is allowed 6ms.
That is still 15% CPU. And X soon comes down in priority if it
continues to use a lot of CPU.
next prev parent reply other threads:[~2003-09-06 6:38 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-05 17:57 [PATCH] Nick's scheduler policy v12 Nick Piggin
2003-09-05 18:54 ` Martin J. Bligh
2003-09-05 20:22 ` Mike Fedyk
2003-09-05 20:19 ` Martin J. Bligh
2003-09-05 20:39 ` Mike Fedyk
2003-09-05 21:08 ` Robert Love
2003-09-06 1:31 ` Nick Piggin
2003-09-06 1:18 ` Nick Piggin
2003-09-06 3:36 ` Martin J. Bligh
2003-09-06 6:20 ` Jörn Engel
2003-09-06 6:38 ` Nick Piggin [this message]
2003-09-06 6:55 ` Nick Piggin
2003-09-06 15:13 ` Martin J. Bligh
2003-09-06 11:47 ` Ed Sweetman
2003-09-07 2:34 ` Martin J. Bligh
2003-09-07 3:27 ` Valdis.Kletnieks
2003-09-07 4:42 ` Nick Piggin
2003-09-07 4:37 ` Nick Piggin
2003-09-06 7:49 ` Martin Schlemmer
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=3F5980CD.2040600@cyberone.com.au \
--to=piggin@cyberone.com.au \
--cc=linux-kernel@vger.kernel.org \
--cc=mbligh@aracnet.com \
--cc=mfedyk@matchmail.com \
/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