perf test session topology: Fix test to skip the test in guest environment
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 <kjain@linux.ibm.com> Signed-off-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>--- Tested-by: Disha Goel <disgoel@linux.vnet.ibm.com> Acked-by: Ian Rogers <irogers@google.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Madhavan Srinivasan <maddy@linux.vnet.ibm.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Nageswara R Sastry <rnsastry@linux.ibm.com> Cc: linuxppc-dev@lists.ozlabs.org Link: https://lore.kernel.org/r/20220511114959.84002-1-atrajeev@linux.vnet.ibm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
f8ac1c4784
Коммит
cfd7092c31
|
@ -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++) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче