----- On Sep 25, 2020, at 11:14 AM, rostedt rostedt@xxxxxxxxxxx wrote: > On Fri, 25 Sep 2020 10:41:56 -0400 (EDT) > Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx> wrote: > >> With the current dependencies of tracepoint.h, I would argue that we should >> only do the trampoline work-around for cases where there is an unavoidable >> circular dependency, like the case of msr.h. For other headers which don't >> have circular dependency issues with tracepoint.h, we should use the usual >> tracepoint instrumentation because not having the trampoline provides better >> tracing (on) speed and reduces (slightly) code size. > > Well, for now, I'm going to add the helper function and have the header > use cases use that. > > A while back ago I had patches that moves the DO_TRACE() work into a > separate function and with that we probably could have let all > tracepoints be in headers (as they would all just do a function call to > the trace algorithm that does the rest of the work). But you balked at > that because of the added overhead with tracing on. > > Anyway, I don't see any issues with the current patch set as is > (besides the documentation fix, which I already updated locally). And > will add this to my queue for linux-next. The only thing I would change in the documentation is to word this as "here is a trampoline trick which can be used to work-around rare cases of tracepoint header circular dependency issues" rather than "always use this when instrumenting a header". Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com