]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
rtla/tests: Fix pgrep filter in get_workload_pids.sh
authorTomas Glozar <tglozar@redhat.com>
Thu, 4 Jun 2026 14:05:47 +0000 (16:05 +0200)
committerTomas Glozar <tglozar@redhat.com>
Wed, 17 Jun 2026 14:26:44 +0000 (16:26 +0200)
Multiple runtime tests in RTLA rely on the get_workload_pids() shell
helper function to get the PIDs of both kernel and user workloads.

On some systems (e.g. Fedora 43), pgrep matches kernel thread names
including square brackets: "[osnoise/0]"; on other systems (e.g.
RHEL 9.8), brackets are not included: "osnoise/0".

Accept both as valid workload PIDs rather that just the non-bracket form
to make the tests work on all systems.

Fixes: a98dad63cda3 ("rtla/tests: Add runtime test for -k and -u options")
Reported-by: Crystal Wood <crwood@redhat.com>
Link: https://lore.kernel.org/r/20260604140547.3616495-1-tglozar@redhat.com
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
tools/tracing/rtla/tests/scripts/lib/get_workload_pids.sh

index 8aff98cd2c1f80b51f7053941a6ccb05a74cf4da..d10a4e3b321dc347bc4288f781e51ef29343a0cf 100644 (file)
@@ -5,7 +5,7 @@ get_workload_pids() {
     local rtla_pid=$(ps -o ppid= $shell_pid)
 
     # kernel threads
-    pgrep -P $(pgrep ^kthreadd$) -f '^(osnoise|timerlat)/[0-9]+$'
+    pgrep -P $(pgrep ^kthreadd$) -f '^\[?(osnoise|timerlat)/[0-9]+\]?$'
     # user threads
     pgrep -P $rtla_pid | grep -v "^$shell_pid$"
 }