Re: [PATCH] perf inject: Fix itrace output_data_offset

From: Arnaldo Carvalho de Melo
Date: Thu Nov 25 2021 - 07:50:49 EST


Em Thu, Nov 25, 2021 at 09:14:57AM +0200, Adrian Hunter escreveu:
> The space allowed for new attributes can be too small if existing header
> information is large. That can happen, for example, if there are very
> many CPUs, due to having an event ID per CPU per event being stored in the
> header information.
>
> Fix by adding the existing header.data_offset. Also increase the extra
> space allowed to 8KiB and align to a 4KiB boundary for neatness.

Thanks, applied.

- Arnaldo


> Signed-off-by: Adrian Hunter <adrian.hunter@xxxxxxxxx>
> ---
> tools/perf/builtin-inject.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/builtin-inject.c b/tools/perf/builtin-inject.c
> index bc5259db5fd9..b9d6306cc14e 100644
> --- a/tools/perf/builtin-inject.c
> +++ b/tools/perf/builtin-inject.c
> @@ -820,7 +820,7 @@ static int __cmd_inject(struct perf_inject *inject)
> inject->tool.ordered_events = true;
> inject->tool.ordering_requires_timestamps = true;
> /* Allow space in the header for new attributes */
> - output_data_offset = 4096;
> + output_data_offset = roundup(8192 + session->header.data_offset, 4096);
> if (inject->strip)
> strip_init(inject);
> }
> --
> 2.25.1

--

- Arnaldo