• Steven Rostedt (VMware)'s avatar
    x86/ftrace: Add stack frame pointer to ftrace_caller · e6928e58
    Steven Rostedt (VMware) authored
    The function hook ftrace_caller does not create its own stack frame, and
    this causes the ftrace stack trace to miss the first function when doing
    stack traces.
    
     # echo schedule:stacktrace > /sys/kernel/tracing/set_ftrace_filter
    
    Before:
             <idle>-0     [002] .N..    29.865807: <stack trace>
     => cpu_startup_entry
     => start_secondary
     => startup_32_smp
               <...>-7     [001] ....    29.866509: <stack trace>
     => kthread
     => ret_from_fork
               <...>-1     [000] ....    29.865377: <stack trace>
     => poll_schedule_timeout
     => do_select
     => core_sys_select
     => SyS_select
     => do_fast_syscall_32
     => entry_SYSENTER_32
    
    After:
              <idle>-0     [002] .N..    31.234853: <stack trace>
     => do_idle
     => cpu_startup_entry
     => start_secondary
     => startup_32_smp
               <...>-7     [003] ....    31.235140: <stack trace>
     => rcu_gp_kthread
     => kthread
     => ret_from_fork
               <...>-1819  [000] ....    31.264172: <stack trace>
     => schedule_hrtimeout_range
     => poll_schedule_timeout
     => do_sys_poll
     => SyS_ppoll
     => do_fast_syscall_32
     => entry_SYSENTER_32
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    Reviewed-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
    Reviewed-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Reviewed-by: default avatarIngo Molnar <mingo@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Link: http://lkml.kernel.org/r/20170323143445.771707773@goodmis.orgSigned-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    e6928e58
ftrace_32.S 3.73 KB