2019-09-28 01:54:50

by Steve MacLean

[permalink] [raw]
Subject: [PATCH 4/4] perf docs: Correct and clarify jitdump spec

Specification claims latest version of jitdump file format is 2. Current
jit dump reading code treats 1 as the latest version.

Correct spec to match code.

The original language made it unclear the value to be written in the magic
field.

Revise language that the writer always writes the same value. Specify that
the reader uses the value to detect endian mismatches.

Cc: Peter Zijlstra <[email protected]>
Cc: Ingo Molnar <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>
Cc: Mark Rutland <[email protected]>
Cc: Alexander Shishkin <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Cc: Stephane Eranian <[email protected]>
Cc: [email protected]
Signed-off-by: Steve MacLean <[email protected]>
---
tools/perf/Documentation/jitdump-specification.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/perf/Documentation/jitdump-specification.txt b/tools/perf/Documentation/jitdump-specification.txt
index 4c62b07..52152d1 100644
--- a/tools/perf/Documentation/jitdump-specification.txt
+++ b/tools/perf/Documentation/jitdump-specification.txt
@@ -36,8 +36,8 @@ III/ Jitdump file header format
Each jitdump file starts with a fixed size header containing the following fields in order:


-* uint32_t magic : a magic number tagging the file type. The value is 4-byte long and represents the string "JiTD" in ASCII form. It is 0x4A695444 or 0x4454694a depending on the endianness. The field can be used to detect the endianness of the file
-* uint32_t version : a 4-byte value representing the format version. It is currently set to 2
+* uint32_t magic : a magic number tagging the file type. The value is 4-byte long and represents the string "JiTD" in ASCII form. It written is as 0x4A695444. The reader will detect an endian mismatch when it reads 0x4454694a.
+* uint32_t version : a 4-byte value representing the format version. It is currently set to 1
* uint32_t total_size: size in bytes of file header
* uint32_t elf_mach : ELF architecture encoding (ELF e_machine value as specified in /usr/include/elf.h)
* uint32_t pad1 : padding. Reserved for future use
--
2.7.4


2019-09-28 04:39:53

by Stephane Eranian

[permalink] [raw]
Subject: Re: [PATCH 4/4] perf docs: Correct and clarify jitdump spec

On Fri, Sep 27, 2019 at 6:53 PM Steve MacLean
<[email protected]> wrote:
>
> Specification claims latest version of jitdump file format is 2. Current
> jit dump reading code treats 1 as the latest version.
>
> Correct spec to match code.
>
> The original language made it unclear the value to be written in the magic
> field.
>
> Revise language that the writer always writes the same value. Specify that
> the reader uses the value to detect endian mismatches.
>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Arnaldo Carvalho de Melo <[email protected]>
> Cc: Mark Rutland <[email protected]>
> Cc: Alexander Shishkin <[email protected]>
> Cc: Jiri Olsa <[email protected]>
> Cc: Namhyung Kim <[email protected]>
> Cc: Stephane Eranian <[email protected]>
> Cc: [email protected]
> Signed-off-by: Steve MacLean <[email protected]>

Corrections are valid.

Acked-by: Stephane Eranian <[email protected]>

> ---
> tools/perf/Documentation/jitdump-specification.txt | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/perf/Documentation/jitdump-specification.txt b/tools/perf/Documentation/jitdump-specification.txt
> index 4c62b07..52152d1 100644
> --- a/tools/perf/Documentation/jitdump-specification.txt
> +++ b/tools/perf/Documentation/jitdump-specification.txt
> @@ -36,8 +36,8 @@ III/ Jitdump file header format
> Each jitdump file starts with a fixed size header containing the following fields in order:
>
>
> -* uint32_t magic : a magic number tagging the file type. The value is 4-byte long and represents the string "JiTD" in ASCII form. It is 0x4A695444 or 0x4454694a depending on the endianness. The field can be used to detect the endianness of the file
> -* uint32_t version : a 4-byte value representing the format version. It is currently set to 2
> +* uint32_t magic : a magic number tagging the file type. The value is 4-byte long and represents the string "JiTD" in ASCII form. It written is as 0x4A695444. The reader will detect an endian mismatch when it reads 0x4454694a.
> +* uint32_t version : a 4-byte value representing the format version. It is currently set to 1
> * uint32_t total_size: size in bytes of file header
> * uint32_t elf_mach : ELF architecture encoding (ELF e_machine value as specified in /usr/include/elf.h)
> * uint32_t pad1 : padding. Reserved for future use
> --
> 2.7.4
>

2019-09-30 10:49:25

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH 4/4] perf docs: Correct and clarify jitdump spec

Em Fri, Sep 27, 2019 at 09:39:00PM -0700, Stephane Eranian escreveu:
> On Fri, Sep 27, 2019 at 6:53 PM Steve MacLean
> <[email protected]> wrote:
> >
> > Specification claims latest version of jitdump file format is 2. Current
> > jit dump reading code treats 1 as the latest version.
> >
> > Correct spec to match code.

<SNIP>

> Corrections are valid.
>
> Acked-by: Stephane Eranian <[email protected]>

Thanks, applied.

- Arnaldo