From: Mike Galbraith <efault@gmx.de>
To: Robert Love <rml@tech9.net>
Cc: elenstev@mesatop.com, jjs <jjs@tmsusa.com>,
linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: 2.5.65-mm2
Date: Thu, 20 Mar 2003 05:50:41 +0100 [thread overview]
Message-ID: <5.2.0.9.2.20030320041617.00ca5f48@pop.gmx.net> (raw)
In-Reply-To: <1048115072.775.108.camel@phantasy.awol.org>
At 06:04 PM 3/19/2003 -0500, Robert Love wrote:
>On Wed, 2003-03-19 at 17:51, Steven P. Cole wrote:
>
> > I'll try the different value of max_timeslice with dbench on
> > reiserfs next. That's where the lack of response was most evident.
>
>I am curious as to whether reverting sched-D4 fixes this.
>
>If not, the first step is seeing whether this is a bad decision made by
>the interactivity estimator. Something like:
>
> ps -eo pid,nice,priority,command
>
>for dbench, evolution, and X might be useful.
I think I know what he'll see... elevated priority tasks doing round
robin. Watch with top d1 showing only runnable tasks and you can see the
starvation.
The problem as I see it is that when you have a number of tasks which
become elevated to interactive status, they'll round robin and starve
non-interactive tasks basically forever. This is also why my make -j30
bzImage introduces concurrency problems. Despite gcc being a cpu hog, when
enough of them are running, those which have to wait for more time than
they consume via cpu usage eventually achieve elevated status and round
robin until they exit... throttling concurrency. Limiting the amount of
boost that a task can gain via one activation helps this problem
considerably, but does not eliminate it.
(think what happens to EXPIRED_STARVING when you have 30 hogs running, a
few of them doing round robin, and the rest of them just _waiting_ for that
queue switch to happen. :-/ ATM, I'm also gathering sleep time at
schedule time [friendly tasks gain], so sleep_avg will never be consumed if
you have more than one hog running. I made the starvation problem better
for some loads, but utterly deadly for others.)
Something I'm going to try today (yesterday was educational if not
wonderfully fruitful) is to limit the amount of time a piggy task can
remain active in the hope of reducing the time interactive hogs can starve
their expired brethren. I'm currently thinking forced expire after some
number of switches * cpu_usage is reached might cure the starvation without
destroying sleep_avg.
Suggestions very welcome. (fun problem:)
-Mike
next prev parent reply other threads:[~2003-03-20 4:35 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-19 9:21 2.5.65-mm2 Andrew Morton
2003-03-19 10:07 ` 2.5.65-mm2 Alexander Hoogerhuis
2003-03-19 10:16 ` 2.5.65-mm2 Alexander Hoogerhuis
2003-03-19 10:26 ` 2.5.65-mm2 Danny ter Haar
2003-03-19 19:51 ` 2.5.65-mm2 Steven Cole
2003-03-19 20:10 ` 2.5.65-mm2 Andrew Morton
2003-03-19 20:57 ` 2.5.65-mm2 Steven P. Cole
2003-03-19 22:02 ` 2.5.65-mm2 Steven P. Cole
2003-03-19 22:17 ` 2.5.65-mm2 jjs
2003-03-19 22:51 ` 2.5.65-mm2 Steven P. Cole
2003-03-19 23:04 ` 2.5.65-mm2 Robert Love
2003-03-19 23:19 ` 2.5.65-mm2 Steven P. Cole
2003-03-20 4:50 ` Mike Galbraith [this message]
2003-03-19 23:09 ` 2.5.65-mm2 jjs
2003-03-20 0:33 ` 2.5.65-mm2 Andrew Morton
2003-03-19 23:45 ` 2.5.65-mm2 Steven P. Cole
2003-03-20 4:27 ` 2.5.65-mm2 Ed Tomlinson
2003-03-20 5:04 ` 2.5.65-mm2 Steven Cole
2003-03-20 14:36 ` 2.5.65-mm2 Steven Cole
2003-03-20 19:48 ` 2.5.65-mm2 Mike Galbraith
2003-03-20 20:12 ` 2.5.65-mm2 Steven P. Cole
2003-03-20 21:07 ` 2.5.65-mm2 Mike Galbraith
2003-03-20 21:15 ` 2.5.65-mm2 Steven P. Cole
2003-03-21 5:20 ` 2.5.65-mm2 Mike Galbraith
2003-03-21 6:06 ` 2.5.65-mm2 Ingo Molnar
2003-03-21 6:16 ` 2.5.65-mm2 Ingo Molnar
[not found] ` <Pine.LNX.4.44.0303210710490.2533-100000@localhost.localdom ain>
2003-03-22 19:50 ` 2.5.65-mm2 Mike Galbraith
2003-03-19 23:17 2.5.65-mm2 Charles Baylis
2003-03-20 1:38 ` 2.5.65-mm2 Andrew Morton
2003-03-20 4:56 ` 2.5.65-mm2 Mike Galbraith
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=5.2.0.9.2.20030320041617.00ca5f48@pop.gmx.net \
--to=efault@gmx.de \
--cc=elenstev@mesatop.com \
--cc=jjs@tmsusa.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rml@tech9.net \
/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
all inboxes | Powered by JetHome®