Re: [PATCH][v3] blktrace: conversion to tracepoints

Jens Axboe
2008-11-03T17:24:18Z

On Mon, Nov 03 2008, Arnaldo Carvalho de Melo wrote:
> Em Thu, Oct 30, 2008 at 12:11:45PM +0100, Jens Axboe escreveu:
> > On Thu, Oct 30 2008, Arnaldo Carvalho de Melo wrote:
> > > Yes, I tested it, run 'btrace /dev/sda' several times, while doing a
> > > 45 GB backup using rsync over NFS, etc. So it should have exercised the
> > > tracepoints use and repeated registrater/unregister cycles.
> >
> > Awesome, just wanted to know what level of testing you had done (from
> > "none" to "doesn't crash" to "actually works"), so thanks for that.
>
> Jens,
>
> Now I'm working on the marker glue code for systemtap to use
> these tracepoints and I noticed that one important piece of information
> is not available unless one first uses blk_trace_ioctl to fill in
> request_queue->blk_trace, that is request_queue->blk_trace->dev, i.e.
> the device associated with the request_queue.
>
> Is there a way to, from the request_queue, get the dev? I guess
> not, as if there would be you wouldn't have added it to struct
> blk_trace...
>
> Would it be sane to add get struct block_device->bd_dev dev_t
> info into struct request_queue at sd_probe time or most probably at some
> more suitable routine in the device/disk registration sequence of
> events?

You can't do that, the queue is nothing more than a transport. There's
no sane way to map from a queue to a device, since it's not given that
there will be a 1:1 mapping even. So no go there, sorry.

> I am certainly missing lots of connections here, there are many
> objects and relationships among these objects that may make the
> association of a block_device with a request_queue not to be fixed all
> the time, thus requiring the struct blk_trace ->dev field to be set up
> at ioctl time, but I'm just trying to figure out how to remove the
> requirement of a setup routine for the tracepoints to know what is the
> dev_t associated with the request_queue they are getting as a parameter.
>
> Best Regards,
>
> - Arnaldo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

--
Jens Axboe