Re: [PATCH 2/4] virtual block device driver (ramzswap)

From: Steven Rostedt
Date: Tue Sep 15 2009 - 10:08:55 EST


On Tue, 2009-09-15 at 16:43 +0300, Pekka Enberg wrote:
> Hi Steve,
>
> On Tue, 2009-09-15 at 09:14 -0400, Steven Rostedt wrote:
> > > >>> +
> > > >>> + trace_mark(ramzswap_lock_wait, "ramzswap_lock_wait");
> > > >>> + mutex_lock(&rzs->lock);
> > > >>> + trace_mark(ramzswap_lock_acquired, "ramzswap_lock_acquired");
> > > >>
> > > >> Hmm? What's this? I don't think you should be doing ad hoc
> > > >> trace_mark() in driver code.
> > > >
> > > > This is not ad hoc. It is to see contention over this lock which I believe is a
> > > > major bottleneck even on dual-cores. I need to keep this to measure improvements
> > > > as I gradually make this locking more fine grained (using per-cpu buffer etc).
> > >
> > > It is ad hoc. Talk to the ftrace folks how to do it properly. I'd keep
> > > those bits out-of-tree until the issue is resolved, really.
> >
> > Yes, trace_mark is deprecated. You want to use TRACE_EVENT. See how gfs2
> > does it in:
> >
> > fs/gfs2/gfs2_trace.h
> >
> > and it is well documented in
> > samples/trace_events/trace-events-samples.[ch]
>
> Does it really make sense to add special-case tracing in driver code to
> profile lock contention for a _single mutex_?

No that's what LOCKSTAT is for ;-)

-- Steve


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