mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Arjan van de Ven <arjan@infradead.org>
To: Russell King <rmk+lkml@arm.linux.org.uk>
Cc: linux-kernel@vger.kernel.org,
	Jason Schoonover <jasons@pioneer-pra.com>,
	Andrew Morton <akpm@osdl.org>,
	Erik Mouw <erik@harddisk-recovery.com>
Subject: Re: High load average on disk I/O on 2.6.17-rc3
Date: Mon, 08 May 2006 14:37:25 +0200	[thread overview]
Message-ID: <1147091845.2888.21.camel@laptopd505.fenrus.org> (raw)
In-Reply-To: <20060508112831.GA14206@flint.arm.linux.org.uk>

On Mon, 2006-05-08 at 12:28 +0100, Russell King wrote:
> On Mon, May 08, 2006 at 01:22:36PM +0200, Arjan van de Ven wrote:
> > On Mon, 2006-05-08 at 13:13 +0200, Erik Mouw wrote:
> > > On Sun, May 07, 2006 at 09:50:39AM -0700, Andrew Morton wrote:
> > > > This is probably because the number of pdflush threads slowly grows to its
> > > > maximum.  This is bogus, and we seem to have broken it sometime in the past
> > > > few releases.  I need to find a few quality hours to get in there and fix
> > > > it, but they're rare :(
> > > > 
> > > > It's pretty harmless though.  The "load average" thing just means that the
> > > > extra pdflush threads are twiddling thumbs waiting on some disk I/O -
> > > > they'll later exit and clean themselves up.  They won't be consuming
> > > > significant resources.
> > > 
> > > Not completely harmless. Some daemons (sendmail, exim) use the load
> > > average to decide if they will allow more work.
> > 
> > and those need to be fixed most likely ;)
> 
> Why do you think that? 

I think that because the characteristics of modern hardware don't make
"load" a good estimator for finding out if the hardware can take more
jobs.

To explain why I'm thinking this I first need to do an ascii art graph

100
% |             ************************|
b |         ****
u |      ***
s |    **
y |   *
  |  *
  | *
  |*
  +------------------------------------------
       -> workload

on the Y axis is the percentage in use, on the horizontal axis the
amount of work that is done. (in the mail case, say emails per second).
Modern hardware has an initial ramp-up which is near linear in terms of
workload/use, but then a saturation area is reached at 100% where, even
though a system is 100% busy, more work can be added, upto a certain
point that I showed with a "|". This is due to the behavior of increased
batching that you get at higher utilization compared to the behavior at
lower utilizations. Both cpu caches, memory burst speeds-vs-latency, but
also disk streaming performance vs random seeks... all those will create
and increase this saturation space to the right. And all of those have
been increasing in the hardware the last 4+ years, with the result that
the saturation "reach" has increased to the right as well, by far.

How does this tie into "load" and using load for what exim/sendmail use
it for? Well.... Today "load" is a somewhat poor approximation of this
percentage-in-use[1], but... as per the graph and argument above, even
if it was a perfect representation of that, it still would not be a good
measure to determine if a system can do more work (per time unit) or
not.

[1] I didn't discuss the use of *what*; in reality that is a combination
of cpu, memory, disk and possibly network resources. Load tries to
combine cpu and disk into one number via a sheer addition; that's an
obviously rough estimate and I'm not arguing that it's not rough.


> Having a single CPU machine with a load average of 150 and still feel
> very interactive at the shell is extremely counter-intuitive.

Well it's also a sign that the cpu scheduler is prioritizing your shell
over the background "menial" work ;)




  parent reply	other threads:[~2006-05-08 12:37 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-05 17:10 Jason Schoonover
2006-05-06 23:03 ` bert hubert
2006-05-07  1:02   ` Jason Schoonover
2006-05-07 10:54     ` bert hubert
2006-05-07 16:50 ` Andrew Morton
2006-05-07 17:24   ` Jason Schoonover
2006-05-08 11:13   ` Erik Mouw
2006-05-08 11:22     ` Arjan van de Ven
2006-05-08 11:28       ` Russell King
2006-05-08 11:38         ` Avi Kivity
2006-05-08 12:37         ` Arjan van de Ven [this message]
2006-05-09 14:37         ` Bill Davidsen
2006-05-08 14:24   ` Martin J. Bligh
2006-05-08 14:55     ` Arjan van de Ven
2006-05-08 15:22       ` Erik Mouw
2006-05-08 15:25         ` Martin J. Bligh
2006-05-08 15:31         ` Arjan van de Ven
2006-05-08 15:42           ` Erik Mouw
2006-05-08 16:02             ` Martin J. Bligh
2006-05-08 16:02             ` Miquel van Smoorenburg
2006-05-08 16:47             ` Russell King
2006-05-08 17:04               ` Gabor Gombas
2006-05-08 17:18             ` Mike Galbraith
2006-05-09  1:57           ` Nick Piggin
2006-05-09  2:02             ` Martin Bligh
2006-05-09  2:16               ` Nick Piggin
2006-05-09  4:36             ` Arjan van de Ven
2006-05-09  4:46               ` Nick Piggin
2006-05-09  5:27                 ` Hua Zhong
2006-05-09  5:03               ` David Lang
2006-05-15  7:46                 ` Sander
2006-05-08 22:24         ` Bernd Eckenfels
2006-05-08 22:39           ` Lee Revell
2006-05-09  0:08           ` Peter Williams
2006-05-09 18:33           ` Bill Davidsen
     [not found] <69c8K-3Bu-57@gated-at.bofh.it>
2006-05-05 23:12 ` Robert Hancock
2006-05-06  4:39   ` Jason Schoonover
2006-05-06 17:20     ` Robert Hancock
2006-05-06 18:23       ` Jason Schoonover
2006-05-06 20:01         ` Robert Hancock

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=1147091845.2888.21.camel@laptopd505.fenrus.org \
    --to=arjan@infradead.org \
    --cc=akpm@osdl.org \
    --cc=erik@harddisk-recovery.com \
    --cc=jasons@pioneer-pra.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rmk+lkml@arm.linux.org.uk \
    /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

Powered by JetHome