From: Frederic Weisbecker <fweisbec@gmail.com>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Ingo Molnar <mingo@elte.hu>,
mingo@redhat.com, hpa@zytor.com, linux-kernel@vger.kernel.org,
penberg@cs.helsinki.fi, tglx@linutronix.de,
linux-tip-commits@vger.kernel.org
Subject: Re: [tip:perf/core] events: Rename TRACE_EVENT_TEMPLATE() to DECLARE_EVENT_CLASS()
Date: Thu, 26 Nov 2009 18:55:52 +0100 [thread overview]
Message-ID: <20091126175548.GC4997@nowhere> (raw)
In-Reply-To: <1259246730.21397.97.camel@gandalf.stny.rr.com>
On Thu, Nov 26, 2009 at 09:45:30AM -0500, Steven Rostedt wrote:
> On Thu, 2009-11-26 at 09:40 +0100, Ingo Molnar wrote:
> > * Steven Rostedt <rostedt@goodmis.org> wrote:
> >
>
> > > I would like to hear what others think about this change before we go
> > > ahead and implement it.
> >
> > You mean TRACE_EVENT() -> DEFINE_SINGLE_EVENT()? Sure, we want todo it
> > in a more quiet moment of the kernel cycle, not now.
> >
> > (TRACE_EVENT_TEMPLATE OTOH has existed for just a few days so it's not a
> > problem.)
>
> Yes the template name is new, I'm not talking about that on
> particularly.
I personally don't mind much about the name, especially
between class and template. Both make equally sense to me.
But DECLARE sounds like a misnomer here (like DEFINE_EVENT
somehow) as TRACE_EVENT, DEFINE_EVENT and TRACE_EVENT_TEMPLATE
all behave either as a declaration or a definition, depending
on the CREATE_TRACE_POINT macro.
Also, considering the arising question of notifiers and TRACE_EVENT
that are starting to collide in that we have two event callbacks
subsystems that could be gathered in one, I guess TRACE_EVENT will
become too general in the future.
If we consider improving the TRACE_EVENT to support tracing (like
it does already) but also blocking notifiers, atomic notifiers, etc...
by migrating the notifier code to TRACE_EVENT,
then the name should probably be reconsidered as a more general thing.
KERNEL_EVENT ? NOTIFY_EVENT ?
And then the CPP callbacks we are currently using for tracing should
probably be renamed as they won't concern the notifier callbacks.
TP_printk could be renamed as TRACE_print, TP_fast_assing could be
TRACE_fast_assign, etc...
> >
> > > A lot of developers have just learned about TRACE_EVENT and now it
> > > just disappeared. Well, not really, but in the sense of ' find
> > > linux.git -name '*.[ch]' | xargs grep TRACE_EVENT' it no longer
> > > exists.
> >
> > A second problem with the TRACE_EVENT name is that it's not just for
> > tracing - we dont necessarily 'trace' events here. We can use the event
> > callbacks to collect pure counts:
>
> Then we might as well rename the "trace_*" all over the kernel.
I think this should be kept. Although if notifier goes migrated in
TRACE_EVENT, having notify_event() would gather the two meanings of
trace_* and notify_*
> > DEFINE_SINGLE_EVENT() solves all these problems:
> >
> > - It's obvious what it does
> >
> > - It suggests users of it that there's another non-single-event
> > facility, gently nudging them towards the use of the more efficient
> > DEFINE_EVENT_CLASS() + DEFINE_EVENT() method.
> >
> > - It fits nicely into the rest of the naming scheme.
>
> Like I said earlier, I'm not really attached to the name. Except that
> there's already a lot of documentation (I've given tutorials about it)
> using the TRACE_EVENT name. But who am I to decide?
Not that I like much DEFINE_SINGLE_EVENT(), because DEFINE is ambiguous
and SINGLE too (single can indeed be interpreted as something that doesn't
need a class, but is also confusing as it suggests that DEFINE_EVENT defines
several events in once), but I think a tutorial shouldn't paralyze a
subsystem progression.
Why not having BUILD_EVENT_CLASS(), BUILD_EVENT_FROM_CLASS(), and BUILD_EVENT() ?
That said, TRACE_EVENT() can still remain as an alias.
next prev parent reply other threads:[~2009-11-26 17:55 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-26 7:02 [PATCH 0/9] tracing: Convert some trace events to DEFINE_TRACE Li Zefan
2009-11-26 7:03 ` [PATCH 1/9] tracing: Convert module refcnt events to DEFINE_EVENT Li Zefan
2009-11-26 8:42 ` [tip:perf/core] " tip-bot for Li Zefan
2009-11-26 7:04 ` [PATCH 2/9] tracing: Convert some kmem " Li Zefan
2009-11-26 7:24 ` Pekka Enberg
2009-11-26 7:38 ` Steven Rostedt
2009-11-26 7:57 ` Ingo Molnar
2009-11-26 8:29 ` Steven Rostedt
2009-11-26 8:16 ` [tip:perf/core] events: Rename TRACE_EVENT_TEMPLATE() to DECLARE_EVENT_CLASS() tip-bot for Ingo Molnar
2009-11-26 8:33 ` Steven Rostedt
2009-11-26 8:40 ` Ingo Molnar
2009-11-26 14:45 ` Steven Rostedt
2009-11-26 17:55 ` Frederic Weisbecker [this message]
2009-11-26 18:12 ` Ingo Molnar
2009-11-26 19:12 ` Steven Rostedt
2009-11-26 19:20 ` Ingo Molnar
2009-11-26 19:44 ` Steven Rostedt
2009-11-26 19:47 ` Steven Rostedt
2009-11-26 23:13 ` Frederic Weisbecker
2009-11-27 3:52 ` Steven Rostedt
2009-11-26 8:42 ` [tip:perf/core] tracing: Convert some kmem events to DEFINE_EVENT tip-bot for Li Zefan
2009-11-26 12:34 ` [tip:perf/core] tracing: Fix kmem event exports tip-bot for Ingo Molnar
2009-11-26 7:04 ` [PATCH 3/9] tracing: Convert softirq events to DEFINE_EVENT Li Zefan
2009-11-26 8:43 ` [tip:perf/core] " tip-bot for Li Zefan
2009-11-26 7:05 ` [PATCH 4/9] tracing: Convert some workqueue " Li Zefan
2009-11-26 8:43 ` [tip:perf/core] " tip-bot for Li Zefan
2009-11-26 7:05 ` [PATCH 5/9] tracing: Convert some power " Li Zefan
2009-11-26 8:43 ` [tip:perf/core] " tip-bot for Li Zefan
2009-11-26 7:06 ` [PATCH 6/9] tracing: Convert some block " Li Zefan
2009-11-26 8:36 ` Jens Axboe
2009-11-26 8:44 ` Ingo Molnar
2009-11-26 8:47 ` Jens Axboe
2009-11-26 8:50 ` Ingo Molnar
2009-11-26 8:52 ` Jens Axboe
2009-11-26 8:43 ` [tip:perf/core] " tip-bot for Li Zefan
2009-11-26 7:06 ` [PATCH 7/9] tracing: Convert some jbd2 " Li Zefan
2009-11-26 8:44 ` [tip:perf/core] " tip-bot for Li Zefan
2009-11-26 7:07 ` [PATCH 8/9] tracing: Convert some ext4 events to DEFINE_TRACE Li Zefan
2009-11-26 8:44 ` [tip:perf/core] " tip-bot for Li Zefan
2009-11-26 7:08 ` [PATCH 9/9] tracing: Restore original format of sched events Li Zefan
2009-11-26 8:44 ` [tip:perf/core] " tip-bot for Li Zefan
2009-11-26 7:32 ` [PATCH 0/9] tracing: Convert some trace events to DEFINE_TRACE Steven Rostedt
2009-11-26 7:59 ` Ingo Molnar
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=20091126175548.GC4997@nowhere \
--to=fweisbec@gmail.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mingo@redhat.com \
--cc=penberg@cs.helsinki.fi \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
/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.