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: [email protected]
> Fixes: e34293ddcebd ("rtla/timerlat: Add BPF skeleton to collect samples")
> Signed-off-by: Tomas Glozar <[email protected]>
> ---
>  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 <[email protected]>


Reply via email to