]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
rtla/timerlat: Simplify RTLA_NO_BPF environment variable check
authorWander Lairson Costa <wander@redhat.com>
Mon, 9 Mar 2026 19:46:27 +0000 (16:46 -0300)
committerTomas Glozar <tglozar@redhat.com>
Wed, 11 Mar 2026 14:29:50 +0000 (15:29 +0100)
The code that checks the RTLA_NO_BPF environment variable calls
getenv() twice and uses strncmp() with a length of 2 to compare
against the single-character string "1". This is inefficient and
the comparison length is unnecessarily long.

Store the result of getenv() in a local variable to avoid the
redundant call, and replace strncmp() with strncmp_static() for
the exact match comparison. This follows the same pattern
established in recent commits that improved string comparison
consistency throughout the rtla codebase.

Signed-off-by: Wander Lairson Costa <wander@redhat.com>
Link: https://lore.kernel.org/r/20260309195040.1019085-15-wander@redhat.com
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
tools/tracing/rtla/src/timerlat.c

index de3caea433adaf1e939963f0a9037365d6fa6539..f8c057518d22373499e55dc555f7a22ec88d704b 100644 (file)
@@ -28,12 +28,13 @@ int
 timerlat_apply_config(struct osnoise_tool *tool, struct timerlat_params *params)
 {
        int retval;
+       const char *const rtla_no_bpf = getenv("RTLA_NO_BPF");
 
        /*
         * Try to enable BPF, unless disabled explicitly.
         * If BPF enablement fails, fall back to tracefs mode.
         */
-       if (getenv("RTLA_NO_BPF") && strncmp(getenv("RTLA_NO_BPF"), "1", 2) == 0) {
+       if (rtla_no_bpf && strncmp_static(rtla_no_bpf, "1") == 0) {
                debug_msg("RTLA_NO_BPF set, disabling BPF\n");
                params->mode = TRACING_MODE_TRACEFS;
        } else if (!tep_find_event_by_name(tool->trace.tep, "osnoise", "timerlat_sample")) {