Messages in this thread | | | Date | Wed, 30 Aug 2000 16:11:47 +0200 | From | Jens Axboe <> | Subject | Re: [PATCH] Fix disk statistic reporting to include all disks |
| |
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 <axboe@suse.de> * SuSE Labs - 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/
| |