lkml.org 
[lkml]   [2009]   [Mar]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 4/5 v3] tracing/core: drop the old ftrace_printk implementation in favour of ftrace_bprintk

    * 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?

    Ingo


    \
     
     \ /
      Last update: 2009-03-06 18:07    [W:3.243 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site