Re: Trapping Block I/O

From: Jens Axboe
Date: Fri Sep 23 2005 - 13:43:45 EST


On Fri, Sep 23 2005, Fawad Lateef wrote:
> On 9/23/05, Jens Axboe <axboe@xxxxxxx> wrote:
> > Well it's pretty new, so no wonder. But it should do everything you want
> > and lots more. There's a list for it here:
> >
> > linux-btrace@xxxxxxxxxxxxxxx
> >
> > I'm a little pressed for time these days, but I'll do a proper announce
> > / demo of all the features starting next week since it's basically
> > feature complete now.
> >
> > If you don't use git, there are also snapshots available on kernel.org,
> > more precisely here:
> >
> > kernel.org/pub/linux/kernel/people/axboe/blktrace/
> >
> > but kernel.org is pretty slow these days, so pulling from the git repo
> > above is greatly recommended.
> >
>
> Ya, I looked at it and its looking very good tool to tracing block I/O
> layer, but this tracing requires recompilation of the kernel and have
> to use on kernel directly from kernel.org but its not a big deal, I
> hope it will get into the main kernel soon ....

That is true, I plan on submitting it for 2.6.15. The goal was to get
relayfs pushed in first and that did happen for 2.6.14.

> By the way my approach about creating wrapper and getting the device
> requests without modification into the kernel and can be easily used
> on any block device ...... ;)

There are certainly a lot of ways to get the data out to user space, by
far the bulk of the code is in the monitoring application. blktrace
should be pretty fast though, one of the goals was to make sure it would
be very light weight on the kernel side (which it is) and very fast on
getting the data out (also achieved, relayfs works very well). The
xprobe approach does have certain advantages, the main one being that
you can easily modify it.

--
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/