All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <compudj@krystal.dyndns.org>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: linux-kernel@vger.kernel.org, Ingo Molnar <mingo@elte.hu>,
	Andrew Morton <akpm@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Peter Zijlstra <peterz@infradead.org>,
	Frederic Weisbecker <fweisbec@gmail.com>,
	Theodore Tso <tytso@mit.edu>,
	Arjan van de Ven <arjan@infradead.org>,
	Pekka Paalanen <pq@iki.fi>,
	Arnaldo Carvalho de Melo <acme@redhat.com>,
	Jason Baron <jbaron@redhat.com>, Martin Bligh <mbligh@google.com>,
	"Frank Ch. Eigler" <fche@redhat.com>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Jens Axboe <jens.axboe@oracle.com>,
	Masami Hiramatsu <mhiramat@redhat.com>
Subject: Re: [PATCH 0/4][RFC] event tracer
Date: Tue, 24 Feb 2009 19:59:04 -0500	[thread overview]
Message-ID: <20090225005903.GA16396@Krystal> (raw)
In-Reply-To: <20090224193344.638329210@goodmis.org>

* Steven Rostedt (rostedt@goodmis.org) wrote:
> 
> This is still RFC, do not pull.
> 
> This patch set gives the ability to add a format string and args to
> a trace point declaration. Then it gives a tracer an opportunity to
> override the header macro and use the default trace format to trace
> the object.
> 
> For example (and used in this patch series), the sched tracepoint
> declarations are moved from include/trace/sched.h to
> include/trace/sched_event_types.h, and instead of using the macro
> DECLARE_TRACE we use DECLARE_TRACE_FMT. The first three arguments
> are the same, but it adds 2 more arguments. A printf format and
> arguments.
> 
> The new trace/sched.h file contains:
> 
>   #include <linux/sched.h>
>   #include <linux/tracepoint.h>
> 
>   #include <trace/sched_event_types.h>
> 
> The sched_event_types.h file has:
> 
>  DECLARE_TRACE_FMT(sched_kthread_stop,
>         TPPROTO(struct task_struct *t),
>                   TPARGS(t),
>                    "task %s:%d", TPARGS(t->comm, t->pid));
> 
> The tracepoint.h defines DECLARE_TRACE_FMT as:
> 
>  #define DECLARE_TRACE_FMT(name, proto, args, fmt, fmt_args) \
>         DECLARE_TRACE(name, TPPROTO(proto), TPARGS(args))
> 
> 
> But in kernel/trace/events.c we have:
> 
>  /* trace/<type>.h here */
>  #include <trace/sched.h>
> 
>  #include "trace_events.h"
> 
>  /* trace/<type>_event_types.h here */
>  #include <trace/sched_event_types.h>
> 
> The trace_events.h redefines the DECLARE_TRACE_FMT and makes a hook
> for to automate adding event points.
> 
> To add event points, convert to the DECLARE_TRACE_FMT, add your default
> printf format, and then add to events.c, the <type>.h and <type>_event_types.h
> as described. Then your trace points will appear in the event tracer.
> 
> Next I'll convert the rest of the tracepoints that are already defined
> to this format.
> 

Hi Steve,

The approach sounds great : an hybrid between markers and tracepoints.
I'll dig into it. That would be useful for LTTng.

Mathieu

> 
> The following patches are in:
> 
>   git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
> 
>     branch: rfc/event_tracer
> 
> 
> Steven Rostedt (4):
>       tracing: add event trace infrastructure
>       tracing: add DECLARE_TRACE_FMT to tracepoint.h
>       tracing: add schedule events to event trace
>       tracing: make event directory structure
> 
> ----
>  include/asm-generic/vmlinux.lds.h |   11 +-
>  include/linux/tracepoint.h        |    3 +
>  include/trace/sched.h             |   49 +-----
>  include/trace/sched_event_types.h |   74 +++++++
>  kernel/trace/Kconfig              |    9 +
>  kernel/trace/Makefile             |    2 +
>  kernel/trace/events.c             |   13 ++
>  kernel/trace/trace_events.c       |  407 +++++++++++++++++++++++++++++++++++++
>  kernel/trace/trace_events.h       |   52 +++++
>  9 files changed, 571 insertions(+), 49 deletions(-)
> -- 
> 

-- 
Mathieu Desnoyers
OpenPGP key fingerprint: 8CD5 52C3 8E3C 4140 715F  BA06 3F25 A8FE 3BAE 9A68

  parent reply	other threads:[~2009-02-25  0:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-24 19:33 [PATCH 0/4][RFC] event tracer Steven Rostedt
2009-02-24 19:33 ` [PATCH 1/4][RFC] tracing: add event trace infrastructure Steven Rostedt
2009-02-24 19:42   ` Andrew Morton
2009-02-24 19:46     ` Ingo Molnar
2009-02-24 22:11       ` Steven Rostedt
2009-02-24 19:33 ` [PATCH 2/4][RFC] tracing: add DECLARE_TRACE_FMT to tracepoint.h Steven Rostedt
2009-02-24 19:33 ` [PATCH 3/4][RFC] tracing: add schedule events to event trace Steven Rostedt
2009-02-24 19:33 ` [PATCH 4/4][RFC] tracing: make event directory structure Steven Rostedt
2009-02-24 19:39 ` [PATCH 0/4][RFC] event tracer Ingo Molnar
2009-02-24 19:42 ` Peter Zijlstra
2009-02-24 22:10   ` Steven Rostedt
2009-02-24 22:25     ` Masami Hiramatsu
2009-02-24 22:31       ` Steven Rostedt
2009-02-25  1:01         ` Mathieu Desnoyers
2009-02-25  1:15           ` Steven Rostedt
2009-02-25  1:46             ` Mathieu Desnoyers
2009-02-25  0:59 ` Mathieu Desnoyers [this message]
2009-02-25  2:10 ` Frank Ch. Eigler
2009-02-25 14:19   ` Jason Baron

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=20090225005903.GA16396@Krystal \
    --to=compudj@krystal.dyndns.org \
    --cc=acme@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@infradead.org \
    --cc=fche@redhat.com \
    --cc=fweisbec@gmail.com \
    --cc=jbaron@redhat.com \
    --cc=jens.axboe@oracle.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@google.com \
    --cc=mhiramat@redhat.com \
    --cc=mingo@elte.hu \
    --cc=peterz@infradead.org \
    --cc=pq@iki.fi \
    --cc=rostedt@goodmis.org \
    --cc=tglx@linutronix.de \
    --cc=tytso@mit.edu \
    /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.