[Cluster-devel] [PATCH 1/4] gfs2: add IO submission trace points

Christoph Hellwig hch at infradead.org
Fri Feb 5 09:48:42 UTC 2010


On Fri, Feb 05, 2010 at 09:49:54AM +0000, Steven Whitehouse wrote:
> Hi,
> 
> On Fri, 2010-02-05 at 16:45 +1100, Dave Chinner wrote:
> > Useful for tracking down where specific IOs are being issued
> > from.
> > 
> > Signed-off-by: Dave Chinner <dchinner at redhat.com>
> > ---
> >  fs/gfs2/log.c        |    6 ++++++
> >  fs/gfs2/lops.c       |    6 ++++++
> >  fs/gfs2/trace_gfs2.h |   41 +++++++++++++++++++++++++++++++++++++++++
> >  3 files changed, 53 insertions(+), 0 deletions(-)
> > 
> > diff --git a/fs/gfs2/log.c b/fs/gfs2/log.c
> > index 4511b08..bd26dff 100644
> > --- a/fs/gfs2/log.c
> > +++ b/fs/gfs2/log.c
> > @@ -121,6 +121,7 @@ __acquires(&sdp->sd_log_lock)
> >  			lock_buffer(bh);
> >  			if (test_clear_buffer_dirty(bh)) {
> >  				bh->b_end_io = end_buffer_write_sync;
> > +				trace_gfs2_submit_bh(bh, WRITE_SYNC_PLUG, __func__);
> >  				submit_bh(WRITE_SYNC_PLUG, bh);
> This looks like it could be a generically useful function, I wonder if
> it would be possible to do this directly in submit_bh, since we should
> be able to use __builtin_return_address(0) to find out the origin of the
> call?

Yes, we could.  The tracing code normally uses the _RET_IP_ wrapper
for __builtin_return_address(0) for some reason, though.




More information about the Cluster-devel mailing list