]> Git Repo - linux.git/commitdiff
perf test session topology: Fix test to skip the test in guest environment
authorAthira Rajeev <[email protected]>
Wed, 11 May 2022 11:49:59 +0000 (17:19 +0530)
committerArnaldo Carvalho de Melo <[email protected]>
Sat, 21 May 2022 17:52:33 +0000 (14:52 -0300)
The session topology test fails in powerpc pSeries platform.

Test logs:

  <<>>
  Session topology : FAILED!
  <<>>

This testcases tests cpu topology by checking the core_id and socket_id
stored in perf_env from perf session. The data from perf session is
compared with the cpu topology information from
"/sys/devices/system/cpu/cpuX/topology" like core_id,
physical_package_id.

In case of virtual environment, detail like physical_package_id is
restricted to be exposed. Hence physical_package_id is set to -1. The
testcase fails on such platforms since socket_id can't be fetched from
topology info.

Skip the testcase in powerpc if physical_package_id returns -1.

Reviewed-by: Kajol Jain <[email protected]>
Signed-off-by: Athira Rajeev <[email protected]>---
Tested-by: Disha Goel <[email protected]>
Acked-by: Ian Rogers <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Madhavan Srinivasan <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Nageswara R Sastry <[email protected]>
Cc: [email protected]
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
tools/perf/tests/topology.c

index ee1e3dcbc0bdb185f0ce98bf20210eddee58f339..d23a9e322ff52868f3a5dbe70b04770c9a4b6c47 100644 (file)
@@ -109,6 +109,17 @@ static int check_cpu_topology(char *path, struct perf_cpu_map *map)
                        && strncmp(session->header.env.arch, "aarch64", 7))
                return TEST_SKIP;
 
+       /*
+        * In powerpc pSeries platform, not all the topology information
+        * are exposed via sysfs. Due to restriction, detail like
+        * physical_package_id will be set to -1. Hence skip this
+        * test if physical_package_id returns -1 for cpu from perf_cpu_map.
+        */
+       if (strncmp(session->header.env.arch, "powerpc", 7)) {
+               if (cpu__get_socket_id(perf_cpu_map__cpu(map, 0)) == -1)
+                       return TEST_SKIP;
+       }
+
        TEST_ASSERT_VAL("Session header CPU map not set", session->header.env.cpu);
 
        for (i = 0; i < session->header.env.nr_cpus_avail; i++) {
This page took 0.059303 seconds and 4 git commands to generate.