Re: [PATCH, RFC 0/3] Improvements to the tracing documentation

From: Theodore Tso
Date: Sun Apr 12 2009 - 13:24:04 EST


On Sun, Apr 12, 2009 at 03:01:05PM +0200, Ingo Molnar wrote:
> Btw., you mention ext4 and jbd2 new-style tracepoints in the text.
> Does this mean you already have them coded up (i havent seen any
> patch posting from you), just that you cannot push it upstream yet
> because ext4 can be a module? We'll have modular new-style
> tracepoints soon.

Yes, I coded them up recently. I wanted to do some performance
measurements, and being able to interleave the ext4 tracepoint logs
with the block I/o tracer was definitely handy. Also, not having to
fight with balky userspace tools (whether it is out-of-tree kernel
support code, or random graphical userspace libraries when I could
really care less about a GUI interface) was definitely a big win.

I only had two real problems. One is that the block I/O tracer only
traces "real" devices, and not device mapper devices --- I could user
the blktrace userspace tool, but then the results wouldn't be properly
interleaved with the ext4 tracepoint logs. The second is that ext4
has its localized header files in fs/ext4/*.h, and not in
include/linux/*.h, and that was problematic given that the trace code
snippets in include/trace/ext4_event_types.h needed access to some
internal ext4 data structures. I ultimately solved the latter by
creating a include/linux/ext4_tracing_types.h, but I suspect this
problem will go away when you have modular new-style tracepoints ---
if not, I'd appreciately greatly if folks could consider whether or
not this support could be added.

I'll attach the patches as replies to this mail thread so you can see
what I've done. Any comments of anything I might have done "wrong"
would be greatly appreciated.

- Ted
--
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/