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]>
