All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2] tools/perf/tests: Fix session topology test to skip the test in guest environment
@ 2022-05-11 11:49 ` Athira Rajeev
  0 siblings, 0 replies; 11+ messages in thread
From: Athira Rajeev @ 2022-05-11 11:49 UTC (permalink / raw)
  To: acme, jolsa
  Cc: mpe, linux-perf-users, linuxppc-dev, maddy, rnsastry, kjain,
	disgoel, irogers

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

Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
---
Changelog:
v1 -> v2:
 Addressed review comments from Arnaldo and Michael Ellerman.
 skip the test in powerpc when physical_package_id is set to
 -1.
 Dropped patch 1 from V1 since current change doesn't use info
 from /proc/cpuinfo and rather uses physical_package_id value.

 tools/perf/tests/topology.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tools/perf/tests/topology.c b/tools/perf/tests/topology.c
index ee1e3dcbc0bd..d23a9e322ff5 100644
--- a/tools/perf/tests/topology.c
+++ b/tools/perf/tests/topology.c
@@ -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++) {
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2022-05-21 17:52 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-11 11:49 [PATCH V2] tools/perf/tests: Fix session topology test to skip the test in guest environment Athira Rajeev
2022-05-11 11:49 ` Athira Rajeev
2022-05-12 11:15 ` kajoljain
2022-05-12 11:15   ` kajoljain
2022-05-13  6:17 ` Disha Goel
2022-05-13 18:33   ` Ian Rogers
2022-05-13 18:33     ` Ian Rogers
2022-05-21  4:46     ` Athira Rajeev
2022-05-21  4:46       ` Athira Rajeev
2022-05-21 17:52       ` Arnaldo Carvalho de Melo
2022-05-21 17:52         ` Arnaldo Carvalho de Melo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.