• Daniel Bristot de Oliveira's avatar
    rtla/osnoise: Add osnoise top mode · 1eceb2fc
    Daniel Bristot de Oliveira authored
    The rtla osnoise tool is an interface for the osnoise tracer. The
    osnoise tracer dispatches a kernel thread per-cpu. These threads read
    the time in a loop while with preemption, softirqs and IRQs enabled,
    thus allowing all the sources of osnoise during its execution. The
    osnoise threads take note of the entry and exit point of any source
    of interferences, increasing a per-cpu interference counter. The
    osnoise tracer also saves an interference counter for each source
    of interference.
    
    The rtla osnoise top mode displays information about the periodic
    summary from the osnoise tracer.
    
    One example of rtla osnoise top output is:
    
    [root@alien ~]# rtla osnoise top -c 0-3 -d 1m -q -r 900000 -P F:1
                                             Operating System Noise
    duration:   0 00:01:00 | time is in us
    CPU Period       Runtime        Noise  % CPU Aval   Max Noise   Max Single          HW          NMI          IRQ      Softirq       Thread
      0 #58         52200000         1031    99.99802          91           60           0            0        52285            0          101
      1 #59         53100000            5    99.99999           5            5           0            9        53122            0           18
      2 #59         53100000            7    99.99998           7            7           0            8        53115            0           18
      3 #59         53100000         8274    99.98441         277           23           0            9        53778            0          660
    
    "rtla osnoise top --help" works and provide information about the
    available options.
    
    Link: https://lkml.kernel.org/r/0d796993abf587ae5a170bb8415c49368d4999e1.1639158831.git.bristot@kernel.org
    
    Cc: Tao Zhou <tao.zhou@linux.dev>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Tom Zanussi <zanussi@kernel.org>
    Cc: Masami Hiramatsu <mhiramat@kernel.org>
    Cc: Juri Lelli <juri.lelli@redhat.com>
    Cc: Clark Williams <williams@redhat.com>
    Cc: John Kacur <jkacur@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Cc: Daniel Bristot de Oliveira <bristot@kernel.org>
    Cc: linux-rt-users@vger.kernel.org
    Cc: linux-trace-devel@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: default avatarDaniel Bristot de Oliveira <bristot@kernel.org>
    Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
    1eceb2fc
osnoise.c 19.6 KB