On Mon, 6 May 2019 16:33:17 +0100 Qais Yousef <qais.you...@arm.com> wrote:
> On 05/06/19 10:46, Steven Rostedt wrote: > > On Mon, 6 May 2019 15:42:00 +0100 > > Qais Yousef <qais.you...@arm.com> wrote: > > > > > I can control that for the wrappers I'm introducing. But the actual > > > tracepoint > > > get the 'trace_' part prepended automatically by the macros. > > > > > > ie DECLARE_TRACE(pelt_rq, ...) will automatically generate a function > > > called > > > trace_pelt_se(...) > > > > > > Or am I missing something? > > > > No trace comes from the trace points. Re-reading that line, I see I totally didn't express what I meant :-p > > If you want I can do something like below to help create a distinction. It is > none enforcing though. > > diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h > index 9c3186578ce0..f654ced20045 100644 > --- a/include/linux/tracepoint.h > +++ b/include/linux/tracepoint.h > @@ -232,6 +232,7 @@ static inline struct tracepoint > *tracepoint_ptr_deref(tracepoint_ptr_t *p) > */ > #define __DECLARE_TRACE(name, proto, args, cond, data_proto, data_args) \ > extern struct tracepoint __tracepoint_##name; \ > + static inline void tp_##name(proto) __alias(trace_##name); \ > static inline void trace_##name(proto) \ > { \ > if (static_key_false(&__tracepoint_##name.key)) \ > > > Another option is to extend DECLARE_TRACE() to take a new argument IS_TP and > based on that select the function name. This will be enforcing but I will have > to go fixup many places. > > Of course 'TP' can be replaced with anything more appealing. No no no, I meant to say... "No that's OK. The "trace_" *is* from the trace points, and trace events build on top of them." -- Steve