• S
    ftrace: move sched_switch enable after markers · 007c05d4
    Steven Rostedt 提交于
    We have two markers now that are enabled on sched_switch. One that records
    the context switching and the other that records task wake ups. Currently
    we enable the tracing first and then set the markers. This causes some
    confusing traces:
    
    # tracer: sched_switch
    #
    #           TASK-PID   CPU#    TIMESTAMP  FUNCTION
    #              | |      |          |         |
           trace-cmd-3973  [00]   115.834817:   3973:120:R   +     3:  0:S
           trace-cmd-3973  [01]   115.834910:   3973:120:R   +     6:  0:S
           trace-cmd-3973  [02]   115.834910:   3973:120:R   +     9:  0:S
           trace-cmd-3973  [03]   115.834910:   3973:120:R   +    12:  0:S
           trace-cmd-3973  [02]   115.834910:   3973:120:R   +     9:  0:S
              <idle>-0     [02]   115.834910:      0:140:R ==>  3973:120:R
    
    Here we see that trace-cmd with PID 3973 wakes up task 9 but the next line
    shows the idle task doing a context switch to task 3973.
    
    Enabling the tracing to _after_ the markers are set creates a much saner
    output:
    
    # tracer: sched_switch
    #
    #           TASK-PID   CPU#    TIMESTAMP  FUNCTION
    #              | |      |          |         |
              <idle>-0     [02]  7922.634225:      0:140:R ==>  4790:120:R
           trace-cmd-4789  [03]  7922.634225:      0:140:R   +  4790:120:R
    Signed-off-by: NSteven Rostedt <srostedt@redhat.com>
    Cc: Steven Rostedt <srostedt@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    007c05d4
trace_sched_switch.c 6.0 KB