[Cluster-devel] Re: GFS2: Add tracepoints

Christoph Hellwig hch at infradead.org
Sat May 30 10:25:21 UTC 2009


On Fri, May 29, 2009 at 08:50:10PM +0100, Steven Whitehouse wrote:
> > This is extremly inefficient.  We'd be much better off just storing
> > the dev_t and introducing a __trace_bdevname to expand a bdevname
> > into the tracer buffer.  It's been on my todo list for a while and
> > I'll look into it next week unless you beat me to it.
> > 
> Ok. I wasn't sure how efficient bdevname() was vs. copying the name
> around, but that sounds like a good plan if its not too expensive an
> operation.

Ok, I finally started looking into and it's not that easy.  bdevname
actually requires a struct block_device * which we can't safely store
and __bdevname is just an obsfucated way to print major and minor.

I'd still hate copying the whole device name as it's rather inefficient,
on the other hand it's quite a bit nicer than the raw major/minor
output.

At this point I think I would prefer the raw manjor/minor output as
done in the block trace even patches.  But what I think is most
important is that we all (block trace events, all filesystem trace
events (current xfs + gfs2 + ext4, and possibly vfs/vm trace points)
agree on one single format so that we can do global filtering over
all of them.




More information about the Cluster-devel mailing list