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

From: Jens Axboe (axboe@suse.de)
Date: Wed Aug 30 2000 - 10:11:47 EDT

  • Next message: David Weis: "2.2.16 deadlocking in schedule()"

    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/
    



    This archive was generated by hypermail 2b29 : Wed Aug 30 2000 - 10:11:45 EDT