Re: [tip:perf/core] tracing: Add DEFINE_EVENT(),DEFINE_SINGLE_EVENT() support to docbook

From: Mathieu Desnoyers
Date: Wed Dec 02 2009 - 11:27:24 EST


* Steven Rostedt (rostedt@xxxxxxxxxxx) wrote:
> On Wed, 2009-12-02 at 15:43 +0100, Ingo Molnar wrote:
> > * Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> >
> > > On Wed, 2009-12-02 at 15:01 +0100, Ingo Molnar wrote:
> > >
> > > > > DECLARE_CLASS_AND_DEFINE_EVENT()
> > > >
> > > > Hm, that's a bit too long. How about 'DEFINE_CLASS_EVENT()' as a
> > > > compromise? It's similarly short-ish to TRACE_EVENT(), and it also
> > > > conveys the fact that we create both a class and an event there.
> > > >
> > > > The full series would thus be:
> > > >
> > > > DECLARE_EVENT_CLASS
> > > > DEFINE_EVENT
> > > > DEFINE_CLASS_EVENT
> > > >
> > > > hm?
> > >
> > > I thought about that too, but it actually makes it more confusing.
> > > Because, looking at this with a fresh POV, I would think that after I
> > > declare a class, I would use DEFINE_CLASS_EVENT with that class.
> >
> > yeah. Hence was my second-best choice 'DEFINE_STANDALONE_EVENT' or
> > 'DEFINE_SINGLE_EVENT' - to stress the special nature it, and to actually
> > nudge people towards creating classes of events instead of doing
> > separate, standalone points. (which are a waste in the majority of
> > cases)
>
> But the current TRACE_EVENT is still defining a class. Thus, you could
> create a TRACE_EVENT (or whatever it is called) and then create
> DEFINE_EVENTs based on the TRACE_EVENT.
>
> That's why I want a name that describes this.
>
> DEFINE_EVENT_CLASS?
>
> Perhaps that's the best.
>
> DECLARE_EVENT_CLASS - only creates a class
> DEFINE_EVENT - defines an event based off of a class
> DEFINE_EVENT_CLASS - creates a class and defines an event by the same name
>
> Perhaps this is best in keeping with linux kernel naming conventions?

Hi Steve,

A few questions about the semantic:

Is "declare" here always only used as a declaration ? (e.g. only in
headers, never impacted by CREATE_TRACE_POINT ?)

Is "define" here always mapping to a definition ? (e.g. to be used in a
C file to define the class or event handling stub)

I feel that your DEFINE_EVENT_CLASS might actually be doing a bit more
than just "defining", it would actually also perform the declaration.
Same goes for "DEFINE_EVENT". So can you tell us a bit more about that
is the context of templates ?

Thanks,

Mathieu

>
> -- Steve
>
>

--
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F BA06 3F25 A8FE 3BAE 9A68
--
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/