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

Reply via email to