• walimis's avatar
    tracing/events: fix output format of kernel stack · f11b3f4e
    walimis authored
    According to "events/ftrace/kernel_stack/format", output format of
    kernel stack should use "=>" instead of "<=".
    
    The second problem is that we shouldn't skip the first entry in the stack,
    although it seems to be duplicated when used in the "function" tracer,
    but events also use it. If we skip the first one, we will drop the topmost
    entry of the stack.
    
    The last problem is that if the last entry is ULONG_MAX(0xffffffff), we should
    drop it, otherwise it will print a NULL name line.
    
    before fix:
    
          sh-1072  [000]   26.957239: sched_process_fork: parent sh:1072 child sh:1073
          sh-1072  [000]   26.957262:
     <= syscall_call
     <=
          sh-1072  [000]   26.957744: sched_switch: task sh:1072 [120] (R) ==> sh:1073 [120]
          sh-1072  [000]   26.957752:
     <= preempt_schedule
     <= wake_up_new_task
     <= do_fork
     <= sys_clone
     <= syscall_call
     <=
    
    After fix:
    
          sh-1075  [000]    39.791848: sched_process_fork: parent sh:1075  child sh:1076
          sh-1075  [000]    39.791871:
     => sys_clone
     => syscall_call
          sh-1075  [000]    39.792713: sched_switch: task sh:1075 [120] (R) ==> sh:1076 [120]
          sh-1075  [000]    39.792722:
     => schedule
     => preempt_schedule
     => wake_up_new_task
     => do_fork
     => sys_clone
     => syscall_call
    Signed-off-by: default avatarwalimis <walimisdev@gmail.com>
    LKML-Reference: <1244016090-7814-2-git-send-email-walimisdev@gmail.com>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    f11b3f4e
trace_output.c 24.4 KB