lkml.org 
[lkml]   [2015]   [Dec]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 1/1] perf: Remove 'core_id' check in topo test
From b6bb5d9182f89cd7c6f1eff3cd5a6d3f947b8b0c Mon Sep 17 00:00:00 2001
From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Date: Thu, 3 Dec 2015 18:26:40 -0500
Subject: [PATCH 1/1] perf: Remove 'core_id' check in topo test

The topology test case of 'perf test' seems to be broken on my x86
system - due to the comparison of a "core-id" with # of CPUs online.

There are 8 online CPUs:

$ cat /sys/devices/system/cpu/online
0-7

but core-ids are not sequential and some core-ids exceed the number
of online CPUs.

$ cat /sys/devices/system/cpu/cpu?/topology/core_id
0
1
9
10
0
1
9
10

Looks like we can safely remove the check. Output before:

$ ./perf --version
perf version 4.4.rc1.g34258a

$ ./perf test -v topo
36: Test topology in session :
--- start ---
test child forked, pid 5906
templ file: /tmp/perf-test-vCwWG3
core_id number is too big.You may need to upgrade the perf tool.
test child interrupted
---- end ----
Test topology in session: FAILED!

and after:

./perf test -v topo
36: Test topology in session :
--- start ---
test child forked, pid 6532
templ file: /tmp/perf-test-y10wFJ
CPU 0, core 0, socket 0
CPU 1, core 1, socket 0
CPU 2, core 9, socket 0
CPU 3, core 10, socket 0
CPU 4, core 0, socket 1
CPU 5, core 1, socket 1
CPU 6, core 9, socket 1
CPU 7, core 10, socket 1
test child finished with 0
---- end ----
Test topology in session: Ok

Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Cc: kan.liang@intel.com
Cc: Jiri Olsa <jolsa@redhat.com>
---
tools/perf/util/header.c | 5 -----
1 file changed, 5 deletions(-)

diff --git a/tools/perf/util/header.c b/tools/perf/util/header.c
index 4383800..e74f94d 100644
--- a/tools/perf/util/header.c
+++ b/tools/perf/util/header.c
@@ -1652,11 +1652,6 @@ static int process_cpu_topology(struct perf_file_section *section,
if (ph->needs_swap)
nr = bswap_32(nr);

- if (nr > (u32)cpu_nr) {
- pr_debug("core_id number is too big."
- "You may need to upgrade the perf tool.\n");
- goto free_cpu;
- }
ph->env.cpu[i].core_id = nr;

ret = readn(fd, &nr, sizeof(nr));
--
2.1.0


\
 
 \ /
  Last update: 2015-12-04 01:01    [W:0.070 / U:2.752 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site