Messages in this thread | | | Date | Fri, 6 Mar 2009 18:14:13 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 4/5 v3] tracing/core: drop the old ftrace_printk implementation in favour of ftrace_bprintk |
| |
* Ingo Molnar <mingo@elte.hu> wrote:
> > * Steven Rostedt <rostedt@goodmis.org> 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@gmail.com> > > > > 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?
ah - i misunderstood - i see that it interacts with your commits from last night.
I've excluded tip:tracing/printk from tip:master for now and will let you guys fix it up when you have time for it.
Ingo
| |