Re: Weird vmstat reports in 2.2.18

From: Alberto Bertogli (albertogli@altavista.net)
Date: Sun Jan 14 2001 - 10:23:15 EST


On Sun, Jan 14, 2001 at 01:50:55AM -0500, Albert D. Cahalan wrote:
>
> > The report is like this:
> > #vmstat 1 60 | awk '{ print $16 }'
> > id
> > 0
> > 0
> > 20452224
> > 1
> > 20452224
> > 0
> > 1
> > 20452224
> > 1
> > 0
> > 0
> >
> > I wasnt able to trigger it in a predictable way, it just pops up...
>
> You should be able to trigger it by running something on both CPUs.
> Starting a dozen processes should ensure that this happens.
>
It wasnt so easy to trigger.. but it did.

> This is the same problem that makes "top" report negative %idle.
>
> The kernel's count of idle ticks can briefly run backwards.
> This is because the idle count is derived from other values,
> which are updated without any locking. When vmstat reads the
> idle time during an update, it can go backwards.
>
> This may be intentional; locking would add overhead, and these
> values are not really important.
>
> The negative number causes an unsigned 32-bit integer underflow.
> After some division and rounding, you get the above values.
>
> Do you want to see the values as they arrive (as "-1" or "-2")
> or do you want them converted to "0" to look pretty?
>
IMHO it would be better to report the values as they arrive, and to document
this somewhere... this would make us + sys + id = 100, which is far more
coherent than the other choices (as-is, and 0).
On the other hand, reporting 0 and adding an option to make it show the real
value could avoid some bug reports like mine.
As you stated before, this values aren't so important.

> I forget where you reported this bug. If it wasn't directly to me,
> then please post my response whereever it was you sent the bug report.
I posted it to lkml

Thanks,
        Alberto



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jan 15 2001 - 21:00:39 EST