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 <[EMAIL PROTECTED]>
* SuSE Labs
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/