2018-05-28 07:46:13

by Thomas Richter

[permalink] [raw]
Subject: [PATCH] perf docu: Update section on cpu topology

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

Signed-off-by: Thomas Richter <[email protected]>
---
tools/perf/Documentation/perf.data-file-format.txt | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/tools/perf/Documentation/perf.data-file-format.txt b/tools/perf/Documentation/perf.data-file-format.txt
index d00f0d51cab8..c57904a526ce 100644
--- a/tools/perf/Documentation/perf.data-file-format.txt
+++ b/tools/perf/Documentation/perf.data-file-format.txt
@@ -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:
--
2.14.3



2018-05-29 03:51:15

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf docu: Update section on cpu topology

Em Mon, May 28, 2018 at 09:44:33AM +0200, Thomas Richter escreveu:
> 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

> Signed-off-by: Thomas Richter <[email protected]>
> ---
> tools/perf/Documentation/perf.data-file-format.txt | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/tools/perf/Documentation/perf.data-file-format.txt b/tools/perf/Documentation/perf.data-file-format.txt
> index d00f0d51cab8..c57904a526ce 100644
> --- a/tools/perf/Documentation/perf.data-file-format.txt
> +++ b/tools/perf/Documentation/perf.data-file-format.txt
> @@ -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:
> --
> 2.14.3

2018-05-29 07:47:13

by Thomas Richter

[permalink] [raw]
Subject: Re: [PATCH] perf docu: Update section on cpu topology

On 05/28/2018 09:54 PM, Arnaldo Carvalho de Melo wrote:
> Em Mon, May 28, 2018 at 09:44:33AM +0200, Thomas Richter escreveu:
>> 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...

>
>> Signed-off-by: Thomas Richter <[email protected]>
>> ---
>> tools/perf/Documentation/perf.data-file-format.txt | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> diff --git a/tools/perf/Documentation/perf.data-file-format.txt b/tools/perf/Documentation/perf.data-file-format.txt
>> index d00f0d51cab8..c57904a526ce 100644
>> --- a/tools/perf/Documentation/perf.data-file-format.txt
>> +++ b/tools/perf/Documentation/perf.data-file-format.txt
>> @@ -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:
>> --
>> 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
>


--
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


Subject: [tip:perf/urgent] 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.

Signed-off-by: Thomas Richter <[email protected]>
Cc: Heiko Carstens <[email protected]>
Cc: Hendrik Brueckner <[email protected]>
Cc: Martin Schwidefsky <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/Documentation/perf.data-file-format.txt | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/tools/perf/Documentation/perf.data-file-format.txt b/tools/perf/Documentation/perf.data-file-format.txt
index d00f0d51cab8..c57904a526ce 100644
--- a/tools/perf/Documentation/perf.data-file-format.txt
+++ b/tools/perf/Documentation/perf.data-file-format.txt
@@ -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: