Thread (5 messages) 5 messages, 4 authors, 2025-02-17

Re: [PATCH] tools/perf: Add check to tool pmu tests to ensure if the event is valid

From: Thomas Richter <hidden>
Date: 2025-02-14 12:43:41
Also in: linux-perf-users

On 2/12/25 19:54, Athira Rajeev wrote:
"Tool PMU" tests fails on powerpc as below:

   12.1: Parsing without PMU name:
   --- start ---
   test child forked, pid 48492
   Using CPUID 0x00800200
   Attempt to add: tool/duration_time/
   ..after resolving event: tool/config=0x1/
   duration_time -> tool/duration_time/
   Attempt to add: tool/user_time/
   ..after resolving event: tool/config=0x2/
   user_time -> tool/user_time/
   Attempt to add: tool/system_time/
   ..after resolving event: tool/config=0x3/
   system_time -> tool/system_time/
   Attempt to add: tool/has_pmem/
   ..after resolving event: tool/config=0x4/
   has_pmem -> tool/has_pmem/
   Attempt to add: tool/num_cores/
   ..after resolving event: tool/config=0x5/
   num_cores -> tool/num_cores/
   Attempt to add: tool/num_cpus/
   ..after resolving event: tool/config=0x6/
   num_cpus -> tool/num_cpus/
   Attempt to add: tool/num_cpus_online/
   ..after resolving event: tool/config=0x7/
   num_cpus_online -> tool/num_cpus_online/
   Attempt to add: tool/num_dies/
   ..after resolving event: tool/config=0x8/
   num_dies -> tool/num_dies/
   Attempt to add: tool/num_packages/
   ..after resolving event: tool/config=0x9/
   num_packages -> tool/num_packages/

   ---- unexpected signal (11) ----
   12.1: Parsing without PMU name                                      : FAILED!

Same fail is observed for "Parsing with PMU name" as well.

The testcase loops through events in tool_pmu__for_each_event()
and access event name using "tool_pmu__event_to_str()".
Here tool_pmu__event_to_str returns null for "slots" event
and "system_tsc_freq" event. These two events are only applicable
for arm64 and x86 respectively. So the function tool_pmu__event_to_str()
skips for unsupported events and returns null. This null value is
causing testcase fail.

To address this in "Tool PMU" testcase, add a helper function
tool_pmu__all_event_to_str() which returns the name for all
events mapping to the tool_pmu_event index including the
skipped ones. So that even if its a skipped event, the
helper function helps to resolve the tool_pmu_event index to
its mapping event name. Update the testcase to check for null event
names before proceeding the test.

Signed-off-by: Athira Rajeev <redacted>
for s390:
Tested-by: Thomas Richter <redacted>

-- 
Thomas Richter, Dept 3303, IBM s390 Linux Development, Boeblingen, Germany
--
IBM Deutschland Research & Development GmbH

Vorsitzender des Aufsichtsrats: Wolfgang Wendt

Geschäftsführung: David Faller

Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help