• Masami Hiramatsu's avatar
    tracing: Modify soft-mode only if there's no other referrer · 1cf4c073
    Masami Hiramatsu authored
    Modify soft-mode flag only if no other soft-mode referrer
    (currently only the ftrace triggers) by using a reference
    counter in each ftrace_event_file.
    
    Without this fix, adding and removing several different
    enable/disable_event triggers on the same event clear
    soft-mode bit from the ftrace_event_file. This also
    happens with a typo of glob on setting triggers.
    
    e.g.
    
     # echo vfs_symlink:enable_event:net:netif_rx > set_ftrace_filter
     # cat events/net/netif_rx/enable
     0*
     # echo typo_func:enable_event:net:netif_rx > set_ftrace_filter
     # cat events/net/netif_rx/enable
     0
     # cat set_ftrace_filter
     #### all functions enabled ####
     vfs_symlink:enable_event:net:netif_rx:unlimited
    
    As above, we still have a trigger, but soft-mode is gone.
    
    Link: http://lkml.kernel.org/r/20130509054429.30398.7464.stgit@mhiramat-M0-7522
    
    Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: David Sharp <dhsharp@google.com>
    Cc: Hiraku Toyooka <hiraku.toyooka.gu@hitachi.com>
    Cc: Tom Zanussi <tom.zanussi@intel.com>
    Signed-off-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    1cf4c073
trace_events.c 59.3 KB