• Daniel Bristot de Oliveira's avatar
    tracing/osnoise: Add OSNOISE_WORKLOAD option · 30838fcd
    Daniel Bristot de Oliveira authored
    The osnoise tracer is not only a tracer, and a set of tracepoints,
    but also a workload dispatcher.
    
    In preparation for having other workloads, e.g., in user-space,
    add an option to avoid dispatching the workload.
    
    By not dispatching the workload, the osnoise: tracepoints become
    generic events to measure the execution time of *any* task on Linux.
    
    For example:
    
      # cd /sys/kernel/tracing/
      # cat osnoise/options
      DEFAULTS OSNOISE_WORKLOAD
      # echo NO_OSNOISE_WORKLOAD > osnoise/options
      # cat osnoise/options
      NO_DEFAULTS NO_OSNOISE_WORKLOAD
      # echo osnoise > set_event
      # echo osnoise > current_tracer
      # tail -8 trace
          make-94722   [002] d..3.  1371.794507: thread_noise:     make:94722 start 1371.794302286 duration 200897 ns
            sh-121042  [020] d..3.  1371.794534: thread_noise:       sh:121042 start 1371.781610976 duration 8943683 ns
          make-121097  [005] d..3.  1371.794542: thread_noise:     make:121097 start 1371.794481522 duration 60444 ns
         <...>-40      [005] d..3.  1371.794550: thread_noise: migration/5:40 start 1371.794542256 duration 7154 ns
        <idle>-0       [018] dNh2.  1371.794554: irq_noise: reschedule:253 start 1371.794553547 duration 40 ns
        <idle>-0       [018] dNh2.  1371.794561: irq_noise: local_timer:236 start 1371.794556222 duration 4890 ns
        <idle>-0       [018] .Ns2.  1371.794563: softirq_noise:    SCHED:7 start 1371.794561803 duration 992 ns
        <idle>-0       [018] d..3.  1371.794566: thread_noise: swapper/18:0 start 1371.781368110 duration 13191798 ns
    
    In preparation for the rtla exec_time tracer/tool and
    rtla osnoise --user option.
    
    Link: https://lkml.kernel.org/r/f5cfbd37aefd419eefe9243b4d2fc38ed5753fe4.1668692096.git.bristot@kernel.org
    
    Cc: Daniel Bristot de Oliveira <bristot@kernel.org>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Signed-off-by: default avatarDaniel Bristot de Oliveira <bristot@kernel.org>
    Signed-off-by: default avatarSteven Rostedt (Google) <rostedt@goodmis.org>
    30838fcd
trace_osnoise.c 63.1 KB