• Jiaxing Wang's avatar
    tracing: Apply tracer specific options from kernel command line. · a4d1e688
    Jiaxing Wang authored
    Currently, the trace_options parameter is only applied in
    tracer_alloc_buffers() when global_trace.current_trace is nop_trace,
    so a tracer specific option will not be applied even when the specific
    tracer is also enabled from kernel command line. For example, the
    'func_stack_trace' option can't be enabled with the following kernel
    parameter:
    
      ftrace=function ftrace_filter=kfree trace_options=func_stack_trace
    
    We can enable tracer specific options by simply apply the options again
    if the specific tracer is also supplied from command line and started
    in register_tracer().
    
    To make trace_boot_options_buf can be parsed again, a comma and a space
    is put back if they were replaced by strsep and strstrip respectively.
    
    Also make register_tracer() be __init to access the __init data, and
    in fact register_tracer is only called from __init code.
    
    Link: http://lkml.kernel.org/r/1446599669-9294-1-git-send-email-hello.wjx@gmail.comSigned-off-by: default avatarJiaxing Wang <hello.wjx@gmail.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    a4d1e688
trace.c 173 KB