Re: What causes iowait other than waiting for i/o?

From: Jesper Juhl
Date: Mon May 28 2007 - 17:47:58 EST


On 28/05/07, Bill Davidsen <davidsen@xxxxxxx> wrote:
I recently noted that my system was spending a lot of time in i/o wait
when doing some tasks which I thought didn't involve i/o, as noted by
the lack of disk light activity most of the time. I thought of network,
certainly the NIC had no activity for this job. So I set up a little
loop to capture all disk i/o and network activity (including loopback).
That was no obvious help, and the program doesn't use pipes.

At this point I'm really curious, does someone have a good clue?

Note: I don't think this is a bug or performance issue, unless the
kernel is doing something and charging time to iowait instead of system
I don't see anything to fix, but I would like to understand.


Nothing /should/ cause time to be attributed to i/o wait other than
waiting for i/o. But the accounting isn't completely accurate. When
the kernel records what the has happen (governed by when the timer
interrupt triggers as far as I remember), many different processes may
have run and done may different things, but only what the last one did
is recorded. So if you are unlucky you may have the system doing all
sorts of activities, but only recording i/o wait if the last process
to run before the kernel looked was doing i/o wait... The numbers are
not exactely accurate...


--
Jesper Juhl <jesper.juhl@xxxxxxxxx>
Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html
Plain text mails only, please http://www.expita.com/nomime.html
-
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/