mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
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 


  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®