Re: [PATCH 4/5 v3] tracing/core: drop the old ftrace_printk implementation in favour of ftrace_bprintk
- From: Ingo Molnar <mingo@xxxxxxx>
- Date: Fri, 6 Mar 2009 18:02:22 +0100
* Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
On Fri, 6 Mar 2009, Frederic Weisbecker wrote:
Impact: faster and lighter tracing
Now that we have ftrace_bprintk() which is faster and consume lesser
memory than ftrace_printk() and has the same purpose, we can now drop
the old implementation in favour of the binary one from ftrace_bprintk(),
which means we move all the implementation of ftrace_bprintk() to
ftrace_printk(), so the Api doesn't change except that we must now use
trace_seq_bprintk() to print the TRACE_PRINT entries.
Some changes result of this:
- Previously, ftrace_bprintk depended of a single tracer and couldn't
work without. This tracer has been dropped and the whole implementation
of ftrace_printk() (like the module formats management) is now integrated
in the tracing core (comes with CONFIG_TRACING), though we keep the file
trace_printk (previously trace_bprintk.c) where we can find the module
management. Thus we don't overflow trace.c
- changes some parts to use trace_seq_bprintk() to print TRACE_PRINT entries.
- change a bit ftrace_printk/ftrace_vprintk macros to support non-builtin formats
constants, and fix 'const' qualifiers warnings. But this is all transparent for
developers.
- etc...
V2:
- Rebase against last changes
- Fix mispell on the changelog
V3:
- Rebase against last changes (moving ftrace_printk() to kernel.h)
Signed-off-by: Frederic Weisbecker <fweisbec@xxxxxxxxx>
Very nice Frederic!
For some reason I'm still missing patch 1. Perhaps it decided to take the
scenic route ;-)
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index 0f5077f..6140922 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -20,7 +20,6 @@ enum trace_type {
TRACE_WAKE,
TRACE_STACK,
TRACE_PRINT,
- TRACE_BPRINTK,
TRACE_SPECIAL,
TRACE_MMIO_RW,
TRACE_MMIO_MAP,
@@ -120,16 +119,10 @@ struct userstack_entry {
*/
struct print_entry {
struct trace_entry ent;
- unsigned long ip;
+ unsigned long ip;
int depth;
- char buf[];
-};
-
Note, this is going to break my recent patch that exports the
internal ftrace events. That's OK, I'll fix it after Ingo
pulls it in.
Ingo,
Would you prefer that I pull these patches in and then fix the
code, and let you pull it from me?
i've put them into a separate branch forked off
tip:tracing/ftrace: tip:tracing/printk. The two vsprintf patches
are in tip:core/printk and merged into tracing/ftrace.
You can thus apply your current enhancements without any
interaction with me - and merge tracing/printk into the
tip:tracing/ftrace branch on your own schedule, ok?
Ingo
--
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/
- Follow-Ups:
- References:
- [PATCH 0/5 v3] Binary ftrace_printk
- From: Frederic Weisbecker
- [PATCH 4/5 v3] tracing/core: drop the old ftrace_printk implementation in favour of ftrace_bprintk
- From: Frederic Weisbecker
- Re: [PATCH 4/5 v3] tracing/core: drop the old ftrace_printk implementation in favour of ftrace_bprintk
- From: Steven Rostedt
- [PATCH 0/5 v3] Binary ftrace_printk
- Prev by Date: [tip:tracing/printk] tracing: add trace_bprintk()
- Next by Date: [tip:tracing/printk] tracing/core: drop the old trace_printk() implementation in favour of trace_bprintk()
- Previous by thread: Re: [PATCH 4/5 v3] tracing/core: drop the old ftrace_printk implementation in favour of ftrace_bprintk
- Next by thread: Re: [PATCH 4/5 v3] tracing/core: drop the old ftrace_printk implementation in favour of ftrace_bprintk
- Index(es):
Relevant Pages
|