Re: [PATCH] Fix disk statistic reporting to include all disks

From: Jens Axboe (
Date: Wed Aug 30 2000 - 09:11:47 EST

On Tue, Aug 29 2000, Linus Torvalds wrote:
> Ho humm.. I actually kind of expected the statistics to be done in
> generic_make_request(), so that we'd have
> .....
> do {
> q = blk_get_queue(bh->b_rdev);
> if (!q) {
> ... no such device ..
> }
> + statistics(q, rw, bh->b_size);
> } while (q->make_request_fn(q, rw, bh)));
> ...
> and just remove the drive_stat_acct() thing completely.

Agreed, I've implemented this and ripped the stats out of kstat. Patch
coming soon :-)

We do then loose the ability to tell when we've started a new request,
now we just account all buffers as a new request. Not a big deal, IMHO.
But do you just want per-queue stats, and not care about minors at all?

> That way, we'd have a per-queue "this many reads, this many writes".
> The /proc code would have to find all the queues, but that shouldn't be
> too bad either. At least we wouldn't have the current silly disk_index()
> stuff (which is all done in a timing-critical routine).

No big deal, for now I just have the proc code doing blk_get_queue for
every major. That code is hardly performance critical ;-)

> Then, as we get saner and saner queues, we'll get saner and saner
> statistics automatically. The above should already be quite sane for IDE.

Rigth, for IDE we'd get a per hwgroup stat. Sane for SCSI, too.

* Jens Axboe <>
* SuSE Labs
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Thu Aug 31 2000 - 21:00:25 EST