• Steven Rostedt's avatar
    ftrace: Consolidate arch dependent functions with 'list' function · ccf3672d
    Steven Rostedt authored
    As the function tracer starts to get more features, the support for
    theses features will spread out throughout the different architectures
    over time. These features boil down to what each arch does in the
    mcount trampoline (the ftrace_caller).
    
    Currently there's two features that are not the same throughout the
    archs.
    
     1) Support to stop function tracing before the callback
     2) passing of the ftrace ops
    
    Both of these require placing an indirect function to support the
    features if the mcount trampoline does not.
    
    On a side note, for all architectures, when more than one callback
    is registered to the function tracer, an intermediate 'list' function
    is called by the mcount trampoline to iterate through the callbacks
    that are registered.
    
    Instead of making a separate function for each of these features,
    and requiring several indirect calls, just use the single 'list' function
    as the intermediate, to handle all cases. If an arch does not support
    the 'stop function tracing' or the passing of ftrace ops, just force
    it to use the list function that will handle the features required.
    
    This makes the code cleaner and simpler and removes a lot of
     #ifdefs in the code.
    
    Link: http://lkml.kernel.org/r/20120612225424.495625483@goodmis.org
    
    Reviewed-by: default avatarMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    ccf3672d
ftrace.h 21 KB