Re: CPU load

From: malc
Date: Mon Feb 12 2007 - 02:10:40 EST


On Mon, 12 Feb 2007, Con Kolivas wrote:

On Monday 12 February 2007 16:54, malc wrote:
On Mon, 12 Feb 2007, Con Kolivas wrote:
On 12/02/07, Vassili Karpov <av1474@xxxxxxxx> wrote:

[..snip..]

The kernel looks at what is using cpu _only_ during the timer
interrupt. Which means if your HZ is 1000 it looks at what is running
at precisely the moment those 1000 timer ticks occur. It is
theoretically possible using this measurement system to use >99% cpu
and record 0 usage if you time your cpu usage properly. It gets even
more inaccurate at lower HZ values for the same reason.

Thank you very much. This somewhat contradicts what i saw (and outlined
in usnet article), namely the mplayer+/dev/rtc case. Unless ofcourse
/dev/rtc interrupt is considered to be the same as the interrupt from
PIT (on X86 that is)

P.S. Perhaps it worth documenting this in the documentation? I caused
me, and perhaps quite a few other people, a great deal of pain and
frustration.

Lots of confusion comes from this, and often people think their pc suddenly
uses a lot less cpu when they change from 1000HZ to 100HZ and use this as an
argument/reason for changing to 100HZ when in fact the massive _reported_
difference is simply worse accounting. Of course there is more overhead going
from 100 to 1000 but it doesn't suddenly make your apps use 10 times more
cpu.

Yep. This, i belive, what made the mplayer developers incorrectly conclude
that utilizing RTC suddenly made the code run slower, after all /proc/stat
now claims that CPU load is higher, while in reality it stayed the same -
it's the accuracy that has improved (somewhat)

But back to the original question, does it look at what's running on timer
interrupt only or any IRQ? (something which is more in line with my own
observations)

--
vale
-
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/