Re: [PATCH] tracing: Move tracepoint callbacks into DEFINE

From: Jason Baron
Date: Tue Aug 18 2009 - 10:20:44 EST


On Tue, Aug 18, 2009 at 12:23:47AM -0700, Josh Stone wrote:
> It's not strictly correct for the tracepoint reg/unreg callbacks to
> occur when a client is hooking up, because the actual tracepoint may no
> be present yet. This happens to be fine for syscall, since that's in
> the core kernel, but it would cause problems for tracepoints defined in
> a module that hasn't been loaded yet. It also means the reg/unreg has
> to be EXPORTed for any modules to use the tracepoint (as in SystemTap).
>
> This patch removes DECLARE_TRACE_WITH_CALLBACK, and instead introduces
> DEFINE_TRACE_WITH_CALLBACK which stores the callbacks in struct
> tracepoint. The callbacks are used now when the active state of the
> tracepoint changes in set_tracepoint & disable_tracepoint.
>
> This also introduces TRACE_EVENT_WITH_CALLBACK, so those events can also
> provide callbacks if needed.
>

this makes sense...Ingo also suggested having the two high level
tracepoints be 'TRACE_EVENT' style. That is we should be able to
register with the syscall entry and get the *all* the syscall numbers
and arguments, and likewise on exit we should be able to get *all*
syscall exit return values. see:

http://marc.info/?l=linux-kernel&m=125008740803571&w=2

does this patch allow/do that?

thanks,

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