Re: High load average on disk I/O on 2.6.17-rc3
From: Nick Piggin
Date: Tue May 09 2006 - 01:03:45 EST
Arjan van de Ven wrote:
On Tue, 2006-05-09 at 11:57 +1000, Nick Piggin wrote:
Perhaps kernel threads in D state should not contribute toward load avg
that would be a change from, well... a LONG time
But presently it changes all the time when we change the implementation
of pdflush or kswapd.
If we make pdflush threads blk_congestion_wait for twice as long, and
end up creating twice as many to feed the same amount of IO, our load
magically doubles but the machine is under almost exactly the same
load condition.
Back when we didn't have all these kernel threads doing work for us,
that wasn't an issue.
The question is what "load" means; if you want to change that... then
there are even better metrics possible. Like
"number of processes wanting to run + number of busy spindles + number
of busy nics + number of VM zones that are below the problem
watermark" (where "busy" means "queue full")
or 50 million other definitions. If we're going to change the meaning,
we might as well give it a "real" meaning.
I'm not sure if that is any better, and perhaps even worse. It does not
matter that much if VM zones are under a watermark if kswapd is taking
care of the problem and nothing ever blocks on memory IO.
(Sure kswapd will contribute to CPU usage, but that *will* be reflected
in load average)
(And even then it is NOT a good measure for determining if the machine
can perform more work, the graph I put in a previous mail is very real,
and in practice it seems the saturation line is easily 4x or 5x of the
"linear" point)
A global loadavg isn't too good anyway, as everyone has observed, there
are many independant resources. But my point is that it isn't going away
while apps still use it, so my point is that this might be an easy way to
improve it.
--
Send instant messages to your online friends http://au.messenger.yahoo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/