Re: sard/iostat disk I/O statistics/accounting for 2.5.8-pre3

Jochen Suckfuell (jo-lkml@suckfuell.net)
Fri, 12 Apr 2002 12:28:45 +0200


On Fri, Apr 12, 2002 at 01:06:10AM +0200, Zlatko Calusic wrote:
> > major minor #blocks name rio rmerge rsect ruse wio wmerge wsect wuse running use aveq
> > 3 0 10037774 ide/host0/bus0/target0/lun0/disc 2381496 3602026 12295120 24796300 2167401 11887863 28592436 168474630 -1 849341880 -666064880
> >
> Also, it _seems_ that only on whole devices ios_in_flight variable
> (column "running" in /proc/partitions) drops to -1. Your (and mine)
> output shows it clearly, yes. This needs further investigation, I have
> been unable to find the problem so far.

I have seen ios_in_flight as low as -4 already.

> And, as aveq value is calculated directly from the ios_in_flight
> value, the average queue value is wrong too (it never goes negative,
> if everything is all right).
The use (one of the most important values here) is also completely wrong
when ios_in_flight is too low: Whenever ios_in_flight!=0, the disk is
accounted as running.

I have patched gen_partition_disk() to correct the ios_in_flight value
as a workaround. This is better than checking it each time ios_in_flight
is decremented, because it only happens when someone reads
/proc/partitions, and so it doesn't slow down the disk access.

But I'm still trying to reproduce the cause of the problem.

Bye
Jochen

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