Re: [PATCH] rtla/timerlat_bpf: Stop tracing on user latency

From: Wander Lairson Costa

Date: Fri Oct 17 2025 - 07:37:39 EST


On Mon, Oct 06, 2025 at 04:31:00PM +0200, Tomas Glozar wrote:
> rtla-timerlat allows a *thread* latency threshold to be set via the
> -T/--thread option. However, the timerlat tracer calls this *total*
> latency (stop_tracing_total_us), and stops tracing also when the
> return-to-user latency is over the threshold.
>
> Change the behavior of the timerlat BPF program to reflect what the
> timerlat tracer is doing, to avoid discrepancy between stopping
> collecting data in the BPF program and stopping tracing in the timerlat
> tracer.
>
> Cc: stable@xxxxxxxxxxxxxxx
> Fixes: e34293ddcebd ("rtla/timerlat: Add BPF skeleton to collect samples")
> Signed-off-by: Tomas Glozar <tglozar@xxxxxxxxxx>
> ---
> tools/tracing/rtla/src/timerlat.bpf.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/tools/tracing/rtla/src/timerlat.bpf.c b/tools/tracing/rtla/src/timerlat.bpf.c
> index 084cd10c21fc..e2265b5d6491 100644
> --- a/tools/tracing/rtla/src/timerlat.bpf.c
> +++ b/tools/tracing/rtla/src/timerlat.bpf.c
> @@ -148,6 +148,9 @@ int handle_timerlat_sample(struct trace_event_raw_timerlat_sample *tp_args)
> } else {
> update_main_hist(&hist_user, bucket);
> update_summary(&summary_user, latency, bucket);
> +
> + if (thread_threshold != 0 && latency_us >= thread_threshold)
> + set_stop_tracing();
> }
>
> return 0;
> --
> 2.51.0
>

Reviewed-by: Wander Lairson Costa <wander@xxxxxxxxxx>