• Steven Rostedt's avatar
    tracing: Expand ring buffer when trace_printk() is used · b382ede6
    Steven Rostedt authored
    Since tracing is not used by 99% of Linux users, even though tracing
    may be configured in, it does not make sense to allocate 1.4 Megs
    per CPU for the ring buffers if they are not used. Thus, on boot up
    the ring buffers are set to a minimal size until something needs the
    and they are expanded.
    
    This works well for events and tracers (function, etc), but for the
    asynchronous use of trace_printk() which can write to the ring buffer
    at any time, does not expand the buffers.
    
    On boot up a check is made to see if any trace_printk() is used to
    see if the trace_printk() temp buffer pages should be allocated. This
    same code can be used to expand the buffers as well.
    Suggested-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    b382ede6
trace.c 118 KB