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/

Reply via email to