rtla/timerlat_aa: Fix negative IRQ delay
authorDaniel Bristot de Oliveira <bristot@kernel.org>
Fri, 4 Aug 2023 15:52:12 +0000 (17:52 +0200)
committerDaniel Bristot de Oliveira <bristot@kernel.org>
Tue, 12 Sep 2023 13:43:17 +0000 (15:43 +0200)
commit6c73daf26420b97fb8b4a620e4ffee5c1f9d44d1
tree2377a842c7f514c194d2a45d5c0130994dce1f3b
parent02d89917ef68acbe65c7cc2323f1db4429879878
rtla/timerlat_aa: Fix negative IRQ delay

When estimating the IRQ timer delay, we are dealing with two different
clock sources: the external clock source that timerlat uses as a reference
and the clock used by the tracer. There are also two moments: the time
reading the clock and the timer in which the event is placed in the
buffer (the trace event timestamp).

If the processor is slow or there is some hardware noise, the difference
between the timestamp and the external clock, read can be longer than the
IRQ handler delay, resulting in a negative time.

If so, set IRQ to start delay as 0. In the end, it is less near-zero and relevant
then the noise.

Link: https://lore.kernel.org/lkml/a066fb667c7136d86dcddb3c7ccd72587db3e7c7.1691162043.git.bristot@kernel.org
Fixes: 27e348b221f6 ("rtla/timerlat: Add auto-analysis core")
Signed-off-by: Daniel Bristot de Oliveira <bristot@kernel.org>
tools/tracing/rtla/src/timerlat_aa.c