st 17. 6. 2026 v 15:18 odesÃlatel Valentin Schneider
<[email protected]> napsal:
>
> IPIs can now be monitored and accounted by osnoise top. When that is
> the case, also record them when saving a trace file.
>
> Signed-off-by: Valentin Schneider <[email protected]>
> ---
> tools/tracing/rtla/src/common.c | 2 +-
> tools/tracing/rtla/src/common.h | 2 +-
> tools/tracing/rtla/src/osnoise.c | 17 ++++++++++++++++-
> 3 files changed, 18 insertions(+), 3 deletions(-)
>
Looks good, the numbers match between what is seen in (non-truncated)
trace and what is detected in RTLA:
$ rtla osnoise top -q -d 5s --ipi --on-end
trace,file=/tmp/ipi_trace.txt | awk '/^ *[0-9]/{ print "CPU: " $1 ",
IPI count: " $13 }'
CPU: 0, IPI count: 20
CPU: 1, IPI count: 2
CPU: 2, IPI count: 1
CPU: 3, IPI count: 3
CPU: 4, IPI count: 0
CPU: 5, IPI count: 2
CPU: 6, IPI count: 1
CPU: 7, IPI count: 1
CPU: 8, IPI count: 0
CPU: 9, IPI count: 0
CPU: 10, IPI count: 2
CPU: 11, IPI count: 3
CPU: 12, IPI count: 0
CPU: 13, IPI count: 20
$ grep ipi_send_cpumask /tmp/ipi_trace.txt | wc -l
0
$ for cpu in {0..13}; do n=$(grep -F "ipi_send_cpu: cpu=$cpu "
/tmp/ipi_trace.txt | wc -l); echo "CPU: $cpu, IPI count: $n"; done
CPU: 0, IPI count: 20
CPU: 1, IPI count: 2
CPU: 2, IPI count: 1
CPU: 3, IPI count: 3
CPU: 4, IPI count: 0
CPU: 5, IPI count: 2
CPU: 6, IPI count: 1
CPU: 7, IPI count: 1
CPU: 8, IPI count: 0
CPU: 9, IPI count: 0
CPU: 10, IPI count: 2
CPU: 11, IPI count: 3
CPU: 12, IPI count: 0
CPU: 13, IPI count: 20
(This is in a VM, with apparently no ipi_send_cpumask events, so I
didn't test that.)
Tomas