From: Frederic Weisbecker <fweisbec@gmail.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Arjan van de Ven <arjan@infradead.org>,
linux-kernel@vger.kernel.org, mingo@elte.hu
Subject: Re: TRACE_EVENT_ABI ?
Date: Mon, 21 Sep 2009 19:58:53 +0200 [thread overview]
Message-ID: <20090921175851.GA5018@nowhere> (raw)
In-Reply-To: <1253551567.2630.26.camel@frodo>
On Mon, Sep 21, 2009 at 12:46:07PM -0400, Steven Rostedt wrote:
> On Mon, 2009-09-21 at 15:28 +0200, Arjan van de Ven wrote:
> > On Mon, 21 Sep 2009 09:26:41 -0400 (EDT)
> > Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > >
> > > [ Resending due to wrong SMTP server ]
> > >
> > >
> > > On Mon, 21 Sep 2009, Arjan van de Ven wrote:
> > >
> > > > Hi,
> > > >
> > > > Ingo suggested to make a TRACE_EVENT_ABI, which is equivalent in
> > > > implementation to TRACE_EVENT, except that it signals a stable
> > > > interface.
> > > >
> > > > In trying to implement this I'm running into a wall where
> > > > TRACE_EVENT keeps being defined in many different ways all over the
> > > > place, making this a really nasty hack to make it just an alias.
> > > >
> > > > Do you have any clever ideas on how to make this an alias without
> > > > fouling up the whole tracing system?
> > > >
> > >
> > > I don't know what you've done so far, but can't you simply in
> > > tracepoint.h define:
> > >
> > > #define TRACE_EVENT_API(a,b,c,d,e) TRACE_EVENT(a,b,c,d,e)
> >
> > unfortunately, due to the preprocessor trickery around TRACE_EVENT this
> > completely barfs.
>
> I forgot to tell you about PARAMS.
>
> This patch compiled for me;
Oh! PARAMS!
I've needed something to "contain" cpp args by the past so that they
are not substituted too early, which is needed while relaying cpp args
from a macro to another. I needed this to fix TRACE_EVENT_FN: it barfed
for the exact same reason.
So I've created __cpparg(), which I'm just discovering, does the exact
same thing than PARAM... :-/
I'm going to s/__cpparg/PARAM for the consistency.
> diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h
> index 63a3f7a..9a983d6 100644
> --- a/include/linux/tracepoint.h
> +++ b/include/linux/tracepoint.h
> @@ -280,6 +280,10 @@ static inline void tracepoint_synchronize_unregister(void)
> * TRACE_EVENT_FN to perform any (un)registration work.
> */
>
> +#define TRACE_EVENT_API(name, proto, args, tstruct, assign, print) \
> + TRACE_EVENT(name, PARAMS(proto), PARAMS(args), \
> + PARAMS(tstruct), PARAMS(assign), PARAMS(print))
> +
> #define TRACE_EVENT(name, proto, args, struct, assign, print) \
> DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
> #define TRACE_EVENT_FN(name, proto, args, struct, \
> diff --git a/include/trace/events/sched.h b/include/trace/events/sched.h
> index b48f1ad..0ee1eb6 100644
> --- a/include/trace/events/sched.h
> +++ b/include/trace/events/sched.h
> @@ -149,7 +149,7 @@ TRACE_EVENT(sched_wakeup_new,
> * (NOTE: the 'rq' argument is not used by generic trace events,
> * but used by the latency tracer plugin. )
> */
> -TRACE_EVENT(sched_switch,
> +TRACE_EVENT_API(sched_switch,
>
> TP_PROTO(struct rq *rq, struct task_struct *prev,
> struct task_struct *next),
>
>
next prev parent reply other threads:[~2009-09-21 17:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-21 7:36 TRACE_EVENT_ABI ? Arjan van de Ven
2009-09-21 12:42 ` Steven Rostedt
2009-09-21 13:26 ` Steven Rostedt
2009-09-21 13:28 ` Arjan van de Ven
2009-09-21 16:46 ` Steven Rostedt
2009-09-21 17:58 ` Frederic Weisbecker [this message]
2009-09-21 18:00 ` Arjan van de Ven
2009-09-21 21:20 ` Steven Rostedt
2009-09-23 8:32 ` [patch] introduce TRACE_EVENT_ABI (was Re: TRACE_EVENT_ABI ?) Arjan van de Ven
2009-09-23 10:57 ` Frédéric Weisbecker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090921175851.GA5018@nowhere \
--to=fweisbec@gmail.com \
--cc=arjan@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rostedt@goodmis.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.