• Steven Rostedt's avatar
    tracing: Register the ftrace internal events during early boot · 7374e827
    Steven Rostedt authored
    All trace events including ftrace internel events (like trace_printk
    and function tracing), register functions that describe how to print
    their output. The events may be recorded as soon as the ring buffer
    is allocated, but they are just raw binary in the buffer. The mapping
    of event ids to how to print them are held within a structure that
    is registered on system boot.
    
    If a crash happens in boot up before these functions are registered
    then their output (via ftrace_dump_on_oops) will be useless:
    
    Dumping ftrace buffer:
    ---------------------------------
       <...>-1       0.... 319705us : Unknown type 6
    ---------------------------------
    
    This can be quite frustrating for a kernel developer trying to see
    what is going wrong.
    
    There's no reason to register them so late in the boot up process.
    They can be registered by early_initcall().
    Reported-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    7374e827
trace_output.c 27.8 KB