* [PATCH] perf inject: Set PERF_RECORD_MISC_BUILD_ID_SIZE
@ 2022-11-19 0:27 Namhyung Kim
2022-11-21 8:45 ` Adrian Hunter
0 siblings, 1 reply; 3+ messages in thread
From: Namhyung Kim @ 2022-11-19 0:27 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, Jiri Olsa
Cc: Ingo Molnar, Peter Zijlstra, LKML, Ian Rogers, Adrian Hunter,
linux-perf-users
With perf inject -b, it synthesizes build-id event for DSOs. But it
missed to set the size and resulted in having trailing zeros.
As perf record sets the size in write_build_id(), let's set the size
here as well.
Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
tools/perf/util/synthetic-events.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/synthetic-events.c b/tools/perf/util/synthetic-events.c
index cccd293b5312..0645795ff080 100644
--- a/tools/perf/util/synthetic-events.c
+++ b/tools/perf/util/synthetic-events.c
@@ -2218,8 +2218,9 @@ int perf_event__synthesize_build_id(struct perf_tool *tool, struct dso *pos, u16
len = pos->long_name_len + 1;
len = PERF_ALIGN(len, NAME_ALIGN);
memcpy(&ev.build_id.build_id, pos->bid.data, sizeof(pos->bid.data));
+ ev.build_id.size = pos->bid.size;
ev.build_id.header.type = PERF_RECORD_HEADER_BUILD_ID;
- ev.build_id.header.misc = misc;
+ ev.build_id.header.misc = misc | PERF_RECORD_MISC_BUILD_ID_SIZE;
ev.build_id.pid = machine->pid;
ev.build_id.header.size = sizeof(ev.build_id) + len;
memcpy(&ev.build_id.filename, pos->long_name, pos->long_name_len);
--
2.38.1.584.g0f3c55d4c2-goog
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] perf inject: Set PERF_RECORD_MISC_BUILD_ID_SIZE
2022-11-19 0:27 [PATCH] perf inject: Set PERF_RECORD_MISC_BUILD_ID_SIZE Namhyung Kim
@ 2022-11-21 8:45 ` Adrian Hunter
2022-11-23 13:35 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 3+ messages in thread
From: Adrian Hunter @ 2022-11-21 8:45 UTC (permalink / raw)
To: Namhyung Kim, Arnaldo Carvalho de Melo, Jiri Olsa
Cc: Ingo Molnar, Peter Zijlstra, LKML, Ian Rogers, linux-perf-users
On 19/11/22 02:27, Namhyung Kim wrote:
> With perf inject -b, it synthesizes build-id event for DSOs. But it
> missed to set the size and resulted in having trailing zeros.
>
> As perf record sets the size in write_build_id(), let's set the size
> here as well.
>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Adrian Hunter <adrian.hunter@intel.com>
> ---
> tools/perf/util/synthetic-events.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/synthetic-events.c b/tools/perf/util/synthetic-events.c
> index cccd293b5312..0645795ff080 100644
> --- a/tools/perf/util/synthetic-events.c
> +++ b/tools/perf/util/synthetic-events.c
> @@ -2218,8 +2218,9 @@ int perf_event__synthesize_build_id(struct perf_tool *tool, struct dso *pos, u16
> len = pos->long_name_len + 1;
> len = PERF_ALIGN(len, NAME_ALIGN);
> memcpy(&ev.build_id.build_id, pos->bid.data, sizeof(pos->bid.data));
> + ev.build_id.size = pos->bid.size;
> ev.build_id.header.type = PERF_RECORD_HEADER_BUILD_ID;
> - ev.build_id.header.misc = misc;
> + ev.build_id.header.misc = misc | PERF_RECORD_MISC_BUILD_ID_SIZE;
> ev.build_id.pid = machine->pid;
> ev.build_id.header.size = sizeof(ev.build_id) + len;
> memcpy(&ev.build_id.filename, pos->long_name, pos->long_name_len);
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] perf inject: Set PERF_RECORD_MISC_BUILD_ID_SIZE
2022-11-21 8:45 ` Adrian Hunter
@ 2022-11-23 13:35 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2022-11-23 13:35 UTC (permalink / raw)
To: Adrian Hunter
Cc: Namhyung Kim, Jiri Olsa, Ingo Molnar, Peter Zijlstra, LKML,
Ian Rogers, linux-perf-users
Em Mon, Nov 21, 2022 at 10:45:14AM +0200, Adrian Hunter escreveu:
> On 19/11/22 02:27, Namhyung Kim wrote:
> > With perf inject -b, it synthesizes build-id event for DSOs. But it
> > missed to set the size and resulted in having trailing zeros.
> >
> > As perf record sets the size in write_build_id(), let's set the size
> > here as well.
> >
> > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
>
> Acked-by: Adrian Hunter <adrian.hunter@intel.com>
Thanks, applied.
- Arnaldo
> > ---
> > tools/perf/util/synthetic-events.c | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/tools/perf/util/synthetic-events.c b/tools/perf/util/synthetic-events.c
> > index cccd293b5312..0645795ff080 100644
> > --- a/tools/perf/util/synthetic-events.c
> > +++ b/tools/perf/util/synthetic-events.c
> > @@ -2218,8 +2218,9 @@ int perf_event__synthesize_build_id(struct perf_tool *tool, struct dso *pos, u16
> > len = pos->long_name_len + 1;
> > len = PERF_ALIGN(len, NAME_ALIGN);
> > memcpy(&ev.build_id.build_id, pos->bid.data, sizeof(pos->bid.data));
> > + ev.build_id.size = pos->bid.size;
> > ev.build_id.header.type = PERF_RECORD_HEADER_BUILD_ID;
> > - ev.build_id.header.misc = misc;
> > + ev.build_id.header.misc = misc | PERF_RECORD_MISC_BUILD_ID_SIZE;
> > ev.build_id.pid = machine->pid;
> > ev.build_id.header.size = sizeof(ev.build_id) + len;
> > memcpy(&ev.build_id.filename, pos->long_name, pos->long_name_len);
--
- Arnaldo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-11-23 13:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-19 0:27 [PATCH] perf inject: Set PERF_RECORD_MISC_BUILD_ID_SIZE Namhyung Kim
2022-11-21 8:45 ` Adrian Hunter
2022-11-23 13:35 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.