]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
rtla/timerlat: Test BPF mode
authorTomas Glozar <tglozar@redhat.com>
Tue, 18 Feb 2025 14:58:59 +0000 (15:58 +0100)
committerSteven Rostedt (Google) <rostedt@goodmis.org>
Tue, 4 Mar 2025 17:35:18 +0000 (12:35 -0500)
Using the RTLA_NO_BPF environmental variable, execute rtla-timerlat
tests both with and without BPF support to cover both paths.

If rtla is built without BPF or the osnoise:timerlat_sample trace event
is not available, test only the non-BPF path.

Cc: John Kacur <jkacur@redhat.com>
Cc: Luis Goncalves <lgoncalv@redhat.com>
Cc: Gabriele Monaco <gmonaco@redhat.com>
Cc: Clark Williams <williams@redhat.com>
Link: https://lore.kernel.org/20250218145859.27762-9-tglozar@redhat.com
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
Signed-off-by: Steven Rostedt (Google) <rostedt@goodmis.org>
tools/tracing/rtla/tests/timerlat.t

index e86f40e5749e5897fbebc035e5bd7d2e82d43379..e939ff71d6be3299d7e69ee9b497eb92be77ba17 100644 (file)
@@ -4,7 +4,20 @@ source tests/engine.sh
 test_begin
 
 set_timeout 2m
+timerlat_sample_event='/sys/kernel/tracing/events/osnoise/timerlat_sample'
 
+if ldd $RTLA | grep libbpf >/dev/null && [ -d "$timerlat_sample_event" ]
+then
+       # rtla build with BPF and system supports BPF mode
+       no_bpf_options='0 1'
+else
+       no_bpf_options='1'
+fi
+
+# Do every test with and without BPF
+for option in $no_bpf_options
+do
+export RTLA_NO_BPF=$option
 check "verify help page" \
        "timerlat --help"
 check "verify -s/--stack" \
@@ -23,5 +36,6 @@ check "verify -c/--cpus" \
        "timerlat hist -c 0 -d 30s"
 check "hist test in nanoseconds" \
        "timerlat hist -i 2 -c 0 -n -d 30s"
+done
 
 test_end