From: Frederic Weisbecker <fweisbec@gmail.com>
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>,
Darren Hart <dvhart@linux.intel.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
"jason.wessel" <jason.wessel@windriver.com>,
"Ted Ts'o" <tytso@mit.edu>,
Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Subject: Re: [RFC][PATCH 0/2] tracing: Have trace_printk()s in the events/ directory
Date: Thu, 18 Nov 2010 13:39:43 +0100 [thread overview]
Message-ID: <20101118123940.GA5344@nowhere> (raw)
In-Reply-To: <20101118035803.453609353@goodmis.org>
On Wed, Nov 17, 2010 at 10:58:03PM -0500, Steven Rostedt wrote:
> As suggested in:
>
> LKML-Reference: <20101116221726.GB26243@nowhere>
> or
> http://marc.info/?l=linux-kernel&m=128994587230629
>
> To have trace_printks in the events directory.
(Note, I don't remember who got that idea. Perhaps
that was Ingo while discussing that with him like one year
ago, or may be me, not sure, whatever)...
> This patch set just does it for ftrace, although it can also lay the
> ground work for both perf and trace (are they different tools?)
The trace tool uses perf. But no worry about perf, I can handle the hook
for it.
> This patch set converts the current trace_printk() into ftrace_printk()
> (back to it's original name) and that stays the same.
>
> The new trace_printk() is off by default (we can change that later
> with a kernel command line option perhaps), but it can be enable now
> with the events directory.
Cool. So disablement/re-enablement are nice features. That said it should
be enabled by default I think, to keep the previous (and intuitive) behaviour.
> Each trace_printk() added will get a entry in the debugfs/tracing/events/
> directory as debugfs/tracing/entry/path/to/trace_printk/
>
> For example, I added a trace_printk() in kernel/sched.c at line 2180
> and it creates:
>
> # ls /debug/tracing/events/printk/kernel/sched.c/2180/
> enable format
Ok, we'll probably need to add the ID as well.
> The format is the printk format:
>
> # cat /debug/tracing/events/printk/kernel/sched.c/2180/format
> "migrate task %s:%d
> "
Do you think we can make it more compatible with the common pattern?
Like:
Name: sched.c:2180
ID: 120
format:
field:unsigned long ip; offset:16; size:8; signed:0;
field:const char * fmt; offset:24; size:8; signed:0; <-- can be retrieved from printk_format
field:u32 buf; offset:32; size:0; signed:0;
print fmt: "given format", REC->ip, REC->fm
Does that look possible to you or have you run into troubles?
I don't know how much that's possible given the bprintk format. May be
we should first try with the already formatted trace_printk version.
> Every directory has an "enable" file. By echoing 0 or 1 into this
> file, it will enable all the trace_printk's below it.
>
> This also uses jump_label() to keep overhead down when disabled.
>
> Note, modules are not (yet) supported.
>
> This is just the ground work. I'm busy doing other things so
> if you need more, feel free to take this and carry on.
>
> -- Steve
Thanks a lot!
>
> The following patches are in:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-2.6-trace.git
>
> branch: rfc/event-printk
>
>
> Steven Rostedt (2):
> tracing: Rename trace_printk to ftrace_printk
> tracing: Make event based trace_printk()
>
> ----
> include/asm-generic/vmlinux.lds.h | 7 +-
> include/linux/kernel.h | 16 +-
> include/trace/event_printk.h | 52 ++++++
> kernel/trace/Makefile | 1 +
> kernel/trace/event_printk.c | 365 +++++++++++++++++++++++++++++++++++++
> kernel/trace/trace.h | 1 +
> kernel/trace/trace_events.c | 2 +-
> 7 files changed, 435 insertions(+), 9 deletions(-)
prev parent reply other threads:[~2010-11-18 12:39 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-18 3:58 [RFC][PATCH 0/2] tracing: Have trace_printk()s in the events/ directory Steven Rostedt
2010-11-18 3:58 ` [RFC][PATCH 1/2] [PATCH 1/2] tracing: Rename trace_printk to ftrace_printk Steven Rostedt
2010-11-18 3:58 ` [RFC][PATCH 2/2] [PATCH 2/2] tracing: Make event based trace_printk() Steven Rostedt
2010-11-18 4:19 ` Steven Rostedt
2010-11-18 5:50 ` Lai Jiangshan
2010-11-18 12:22 ` Steven Rostedt
2010-11-18 11:58 ` Mathieu Desnoyers
2010-11-18 12:14 ` Steven Rostedt
2010-11-18 10:41 ` [RFC][PATCH 0/2] tracing: Have trace_printk()s in the events/ directory Peter Zijlstra
2010-11-18 11:53 ` Steven Rostedt
2010-11-18 12:06 ` Mathieu Desnoyers
2010-11-18 12:14 ` Steven Rostedt
2010-11-18 13:03 ` Mathieu Desnoyers
2010-11-18 12:53 ` Frederic Weisbecker
2010-11-18 13:06 ` Steven Rostedt
2010-11-18 14:02 ` Frederic Weisbecker
2010-11-18 13:21 ` Peter Zijlstra
2010-11-18 13:36 ` Frederic Weisbecker
2010-11-18 12:39 ` Frederic Weisbecker [this message]
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=20101118123940.GA5344@nowhere \
--to=fweisbec@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=dvhart@linux.intel.com \
--cc=jason.wessel@windriver.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mathieu.desnoyers@efficios.com \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=rostedt@goodmis.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox