[PATCH] rtla/tests: Fix pgrep filter in get_workload_pids.sh

Tomas Glozar posted 1 patch 3 days, 17 hours ago
tools/tracing/rtla/tests/scripts/lib/get_workload_pids.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] rtla/tests: Fix pgrep filter in get_workload_pids.sh
Posted by Tomas Glozar 3 days, 17 hours ago
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>
Signed-off-by: Tomas Glozar <tglozar@redhat.com>
---

Note: the file touched by this commit is included by .gitignore, that is
an error that will be fixed by [1].

[1] https://lore.kernel.org/linux-trace-kernel/20260601091835.3118094-1-tglozar@redhat.com/

 tools/tracing/rtla/tests/scripts/lib/get_workload_pids.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/tracing/rtla/tests/scripts/lib/get_workload_pids.sh b/tools/tracing/rtla/tests/scripts/lib/get_workload_pids.sh
index 8aff98cd2c1f..d10a4e3b321d 100644
--- a/tools/tracing/rtla/tests/scripts/lib/get_workload_pids.sh
+++ b/tools/tracing/rtla/tests/scripts/lib/get_workload_pids.sh
@@ -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$"
 }
-- 
2.54.0