Skip to contentSkip to conversation

perf docu: Update section on cpu topology

PATCH In review Thomas Richter 3 participants 4 messages May 28, 2018 – May 31, 2018 perf events

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 perf docu: Update section on cpu topology

Add an explanation of each cpu's core and socket
identifier to the documentation.

---
 tools/perf/Documentation/perf.data-file-format.txt | 8 ++++++++
 1 file changed, 8 insertions(+)
tools/perf/Documentation/perf.data-file-format.txt +8 -0
index d00f0d51cab8..c57904a526ce 100644
@@ -153,10 +153,18 @@ struct {
 	HEADER_CPU_TOPOLOGY = 13,
 
 String lists defining the core and CPU threads topology.
+The string lists are followed by a variable length array
+which contains core_id and socket_id of each cpu.
+The number of entries can be determined by the size of the
+section minus the sizes of both string lists.
 
 struct {
        struct perf_header_string_list cores; /* Variable length */
        struct perf_header_string_list threads; /* Variable length */
+       struct {
+	      uint32_t core_id;
+	      uint32_t socket_id;
+       } cpus[nr]; /* Variable length records */
 };
 
 Example:
Signature · 1 line
2.14.3
#1 lore raw

Em Mon, May 28, 2018 at 09:44:33AM +0200, Thomas Richter escreveu:

Quoted 2 lines

Add an explanation of each cpu's core and socket
identifier to the documentation.

Thanks, applying. I guess it is not that worth to mention that older files may have just the string lists, right?

- Arnaldo

Quoted 30 lines
---
 tools/perf/Documentation/perf.data-file-format.txt | 8 ++++++++
 1 file changed, 8 insertions(+)
tools/perf/Documentation/perf.data-file-format.txt +8 -0
index d00f0d51cab8..c57904a526ce 100644
@@ -153,10 +153,18 @@ struct {
 	HEADER_CPU_TOPOLOGY = 13,
 
 String lists defining the core and CPU threads topology.
+The string lists are followed by a variable length array
+which contains core_id and socket_id of each cpu.
+The number of entries can be determined by the size of the
+section minus the sizes of both string lists.
 
 struct {
        struct perf_header_string_list cores; /* Variable length */
        struct perf_header_string_list threads; /* Variable length */
+       struct {
+	      uint32_t core_id;
+	      uint32_t socket_id;
+       } cpus[nr]; /* Variable length records */
 };
 
 Example:
Signature · 1 line
2.14.3
#2 lore raw
Quoted 8 lines · Arnaldo Carvalho de Melo

Em Mon, May 28, 2018 at 09:44:33AM +0200, Thomas Richter escreveu:

Quoted 2 lines

Add an explanation of each cpu's core and socket
identifier to the documentation.

Thanks, applying. I guess it is not that worth to mention that older files may have just the string lists, right?

- Arnaldo

Ah, sorry but that did not cross my mind....

It was introduced with commit
2bb00d2f95193 ("perf tools: Store the cpu socket and core ids in the perf.data header") and is available since Linux 4.4

Hope this helps...

Quoted 36 lines
Quoted 31 lines
---
 tools/perf/Documentation/perf.data-file-format.txt | 8 ++++++++
 1 file changed, 8 insertions(+)
tools/perf/Documentation/perf.data-file-format.txt +8 -0
index d00f0d51cab8..c57904a526ce 100644
@@ -153,10 +153,18 @@ struct {
 	HEADER_CPU_TOPOLOGY = 13,
 
 String lists defining the core and CPU threads topology.
+The string lists are followed by a variable length array
+which contains core_id and socket_id of each cpu.
+The number of entries can be determined by the size of the
+section minus the sizes of both string lists.
 
 struct {
        struct perf_header_string_list cores; /* Variable length */
        struct perf_header_string_list threads; /* Variable length */
+       struct {
+	      uint32_t core_id;
+	      uint32_t socket_id;
+       } cpus[nr]; /* Variable length records */
 };
 
 Example:
Signature · 1 line
2.14.3

--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html

Signature · 5 lines
Thomas Richter, Dept 3303, IBM s390 Linux Development, Boeblingen, Germany
--
Vorsitzende des Aufsichtsrats: Martina Koederitz 
Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht Stuttgart, HRB 243294
#3 lore raw

[tip:perf/urgent] perf data: Update documentation section on cpu topology

In reply to Thomas Richter
perf data: Update documentation section on cpu topology
Commit-ID:  0c711138fa61188aa379210e9e08ac76838dea03
Gitweb:     https://git.kernel.org/tip/0c711138fa61188aa379210e9e08ac76838dea03
Author:     Thomas Richter <[email protected]>
AuthorDate: Mon, 28 May 2018 09:44:33 +0200
Committer:  Arnaldo Carvalho de Melo <[email protected]>
CommitDate: Wed, 30 May 2018 15:39:13 -0300

perf data: Update documentation section on cpu topology

Add an explanation of each cpu's core and socket identifier to the perf.data file format documentation.

---
 tools/perf/Documentation/perf.data-file-format.txt | 8 ++++++++
 1 file changed, 8 insertions(+)
tools/perf/Documentation/perf.data-file-format.txt +8 -0
index d00f0d51cab8..c57904a526ce 100644
@@ -153,10 +153,18 @@ struct {
 	HEADER_CPU_TOPOLOGY = 13,
 
 String lists defining the core and CPU threads topology.
+The string lists are followed by a variable length array
+which contains core_id and socket_id of each cpu.
+The number of entries can be determined by the size of the
+section minus the sizes of both string lists.
 
 struct {
        struct perf_header_string_list cores; /* Variable length */
        struct perf_header_string_list threads; /* Variable length */
+       struct {
+	      uint32_t core_id;
+	      uint32_t socket_id;
+       } cpus[nr]; /* Variable length records */
 };
 
 Example: