* [PATCH] perf report: Output non-zero offset for decompressed records @ 2021-09-29 9:14 Alexey Bayduraev 2021-10-04 6:42 ` Jiri Olsa 0 siblings, 1 reply; 5+ messages in thread From: Alexey Bayduraev @ 2021-09-29 9:14 UTC (permalink / raw) To: Arnaldo Carvalho de Melo Cc: Jiri Olsa, Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Ingo Molnar, linux-kernel, Andi Kleen, Adrian Hunter, Alexander Antonov, Alexei Budankov, Riccardo Mancini Print offset of PERF_RECORD_COMPRESSED record instead of zero for decompressed records in raw trace dump (-D option of perf-report): 0x17cf08 [0x28]: event: 9 instead of: 0 [0x28]: event: 9 The fix is not critical, because currently file_pos for compressed events is used in perf_session__process_event only to show offsets in the raw dump. This patch was separated from patchset: https://lore.kernel.org/lkml/cover.1629186429.git.alexey.v.bayduraev@linux.intel.com/ and was already rewieved. Acked-by: Namhyung Kim <namhyung@kernel.org> Acked-by: Andi Kleen <ak@linux.intel.com> Reviewed-by: Riccardo Mancini <rickyman7@gmail.com> Tested-by: Riccardo Mancini <rickyman7@gmail.com> Signed-off-by: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com> --- tools/perf/util/session.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c index 069c2cfdd3be..352f16076e01 100644 --- a/tools/perf/util/session.c +++ b/tools/perf/util/session.c @@ -2116,7 +2116,7 @@ fetch_decomp_event(u64 head, size_t mmap_size, char *buf, bool needs_swap) static int __perf_session__process_decomp_events(struct perf_session *session) { s64 skip; - u64 size, file_pos = 0; + u64 size; struct decomp *decomp = session->decomp_last; if (!decomp) @@ -2132,7 +2132,7 @@ static int __perf_session__process_decomp_events(struct perf_session *session) size = event->header.size; if (size < sizeof(struct perf_event_header) || - (skip = perf_session__process_event(session, event, file_pos)) < 0) { + (skip = perf_session__process_event(session, event, decomp->file_pos)) < 0) { pr_err("%#" PRIx64 " [%#x]: failed to process type: %d\n", decomp->file_pos + decomp->head, event->header.size, event->header.type); return -EINVAL; -- 2.19.0 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] perf report: Output non-zero offset for decompressed records 2021-09-29 9:14 [PATCH] perf report: Output non-zero offset for decompressed records Alexey Bayduraev @ 2021-10-04 6:42 ` Jiri Olsa 2021-10-04 7:00 ` Bayduraev, Alexey V 0 siblings, 1 reply; 5+ messages in thread From: Jiri Olsa @ 2021-10-04 6:42 UTC (permalink / raw) To: Alexey Bayduraev Cc: Arnaldo Carvalho de Melo, Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Ingo Molnar, linux-kernel, Andi Kleen, Adrian Hunter, Alexander Antonov, Alexei Budankov, Riccardo Mancini On Wed, Sep 29, 2021 at 12:14:45PM +0300, Alexey Bayduraev wrote: > Print offset of PERF_RECORD_COMPRESSED record instead of zero for > decompressed records in raw trace dump (-D option of perf-report): > > 0x17cf08 [0x28]: event: 9 > > instead of: > > 0 [0x28]: event: 9 > > The fix is not critical, because currently file_pos for compressed > events is used in perf_session__process_event only to show offsets > in the raw dump. hi, I don't mind the change just curious, because I see also: perf_session__process_event perf_session__process_user_event lseek(fd, file_offset, ... which is not raw dump as the comment suggests thanks, jirka > > This patch was separated from patchset: > https://lore.kernel.org/lkml/cover.1629186429.git.alexey.v.bayduraev@linux.intel.com/ > and was already rewieved. > > Acked-by: Namhyung Kim <namhyung@kernel.org> > Acked-by: Andi Kleen <ak@linux.intel.com> > Reviewed-by: Riccardo Mancini <rickyman7@gmail.com> > Tested-by: Riccardo Mancini <rickyman7@gmail.com> > Signed-off-by: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com> > --- > tools/perf/util/session.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c > index 069c2cfdd3be..352f16076e01 100644 > --- a/tools/perf/util/session.c > +++ b/tools/perf/util/session.c > @@ -2116,7 +2116,7 @@ fetch_decomp_event(u64 head, size_t mmap_size, char *buf, bool needs_swap) > static int __perf_session__process_decomp_events(struct perf_session *session) > { > s64 skip; > - u64 size, file_pos = 0; > + u64 size; > struct decomp *decomp = session->decomp_last; > > if (!decomp) > @@ -2132,7 +2132,7 @@ static int __perf_session__process_decomp_events(struct perf_session *session) > size = event->header.size; > > if (size < sizeof(struct perf_event_header) || > - (skip = perf_session__process_event(session, event, file_pos)) < 0) { > + (skip = perf_session__process_event(session, event, decomp->file_pos)) < 0) { > pr_err("%#" PRIx64 " [%#x]: failed to process type: %d\n", > decomp->file_pos + decomp->head, event->header.size, event->header.type); > return -EINVAL; > -- > 2.19.0 > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] perf report: Output non-zero offset for decompressed records 2021-10-04 6:42 ` Jiri Olsa @ 2021-10-04 7:00 ` Bayduraev, Alexey V 2021-10-04 7:06 ` Jiri Olsa 0 siblings, 1 reply; 5+ messages in thread From: Bayduraev, Alexey V @ 2021-10-04 7:00 UTC (permalink / raw) To: Jiri Olsa Cc: Arnaldo Carvalho de Melo, Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Ingo Molnar, linux-kernel, Andi Kleen, Adrian Hunter, Alexander Antonov, Alexei Budankov, Riccardo Mancini On 04.10.2021 9:42, Jiri Olsa wrote: > On Wed, Sep 29, 2021 at 12:14:45PM +0300, Alexey Bayduraev wrote: >> Print offset of PERF_RECORD_COMPRESSED record instead of zero for >> decompressed records in raw trace dump (-D option of perf-report): >> >> 0x17cf08 [0x28]: event: 9 >> >> instead of: >> >> 0 [0x28]: event: 9 >> >> The fix is not critical, because currently file_pos for compressed >> events is used in perf_session__process_event only to show offsets >> in the raw dump. > > hi, > I don't mind the change just curious, because I see also: > > perf_session__process_event > perf_session__process_user_event > lseek(fd, file_offset, ... > > which is not raw dump as the comment suggests Hi, Yes, but this "lseek" only works for user events, whereas the PERF_RECORD_COMPRESSED record shouln't contain such events. Currently, the PERF_RECORD_COMPRESSED container can only pack kernel events. Regards, Alexey > > thanks, > jirka > >> >> This patch was separated from patchset: >> https://lore.kernel.org/lkml/cover.1629186429.git.alexey.v.bayduraev@linux.intel.com/ >> and was already rewieved. >> >> Acked-by: Namhyung Kim <namhyung@kernel.org> >> Acked-by: Andi Kleen <ak@linux.intel.com> >> Reviewed-by: Riccardo Mancini <rickyman7@gmail.com> >> Tested-by: Riccardo Mancini <rickyman7@gmail.com> >> Signed-off-by: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com> >> --- >> tools/perf/util/session.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c >> index 069c2cfdd3be..352f16076e01 100644 >> --- a/tools/perf/util/session.c >> +++ b/tools/perf/util/session.c >> @@ -2116,7 +2116,7 @@ fetch_decomp_event(u64 head, size_t mmap_size, char *buf, bool needs_swap) >> static int __perf_session__process_decomp_events(struct perf_session *session) >> { >> s64 skip; >> - u64 size, file_pos = 0; >> + u64 size; >> struct decomp *decomp = session->decomp_last; >> >> if (!decomp) >> @@ -2132,7 +2132,7 @@ static int __perf_session__process_decomp_events(struct perf_session *session) >> size = event->header.size; >> >> if (size < sizeof(struct perf_event_header) || >> - (skip = perf_session__process_event(session, event, file_pos)) < 0) { >> + (skip = perf_session__process_event(session, event, decomp->file_pos)) < 0) { >> pr_err("%#" PRIx64 " [%#x]: failed to process type: %d\n", >> decomp->file_pos + decomp->head, event->header.size, event->header.type); >> return -EINVAL; >> -- >> 2.19.0 >> > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] perf report: Output non-zero offset for decompressed records 2021-10-04 7:00 ` Bayduraev, Alexey V @ 2021-10-04 7:06 ` Jiri Olsa 2021-10-08 18:44 ` Arnaldo Carvalho de Melo 0 siblings, 1 reply; 5+ messages in thread From: Jiri Olsa @ 2021-10-04 7:06 UTC (permalink / raw) To: Bayduraev, Alexey V Cc: Arnaldo Carvalho de Melo, Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Ingo Molnar, linux-kernel, Andi Kleen, Adrian Hunter, Alexander Antonov, Alexei Budankov, Riccardo Mancini On Mon, Oct 04, 2021 at 10:00:52AM +0300, Bayduraev, Alexey V wrote: > > On 04.10.2021 9:42, Jiri Olsa wrote: > > On Wed, Sep 29, 2021 at 12:14:45PM +0300, Alexey Bayduraev wrote: > >> Print offset of PERF_RECORD_COMPRESSED record instead of zero for > >> decompressed records in raw trace dump (-D option of perf-report): > >> > >> 0x17cf08 [0x28]: event: 9 > >> > >> instead of: > >> > >> 0 [0x28]: event: 9 > >> > >> The fix is not critical, because currently file_pos for compressed > >> events is used in perf_session__process_event only to show offsets > >> in the raw dump. > > > > hi, > > I don't mind the change just curious, because I see also: > > > > perf_session__process_event > > perf_session__process_user_event > > lseek(fd, file_offset, ... > > > > which is not raw dump as the comment suggests > > Hi, > > Yes, but this "lseek" only works for user events, whereas the > PERF_RECORD_COMPRESSED record shouln't contain such events. > Currently, the PERF_RECORD_COMPRESSED container can only pack > kernel events. Acked-by: Jiri Olsa <jolsa@redhat.com> thanks, jirka > > Regards, > Alexey > > > > > thanks, > > jirka > > > >> > >> This patch was separated from patchset: > >> https://lore.kernel.org/lkml/cover.1629186429.git.alexey.v.bayduraev@linux.intel.com/ > >> and was already rewieved. > >> > >> Acked-by: Namhyung Kim <namhyung@kernel.org> > >> Acked-by: Andi Kleen <ak@linux.intel.com> > >> Reviewed-by: Riccardo Mancini <rickyman7@gmail.com> > >> Tested-by: Riccardo Mancini <rickyman7@gmail.com> > >> Signed-off-by: Alexey Bayduraev <alexey.v.bayduraev@linux.intel.com> > >> --- > >> tools/perf/util/session.c | 4 ++-- > >> 1 file changed, 2 insertions(+), 2 deletions(-) > >> > >> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c > >> index 069c2cfdd3be..352f16076e01 100644 > >> --- a/tools/perf/util/session.c > >> +++ b/tools/perf/util/session.c > >> @@ -2116,7 +2116,7 @@ fetch_decomp_event(u64 head, size_t mmap_size, char *buf, bool needs_swap) > >> static int __perf_session__process_decomp_events(struct perf_session *session) > >> { > >> s64 skip; > >> - u64 size, file_pos = 0; > >> + u64 size; > >> struct decomp *decomp = session->decomp_last; > >> > >> if (!decomp) > >> @@ -2132,7 +2132,7 @@ static int __perf_session__process_decomp_events(struct perf_session *session) > >> size = event->header.size; > >> > >> if (size < sizeof(struct perf_event_header) || > >> - (skip = perf_session__process_event(session, event, file_pos)) < 0) { > >> + (skip = perf_session__process_event(session, event, decomp->file_pos)) < 0) { > >> pr_err("%#" PRIx64 " [%#x]: failed to process type: %d\n", > >> decomp->file_pos + decomp->head, event->header.size, event->header.type); > >> return -EINVAL; > >> -- > >> 2.19.0 > >> > > > ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] perf report: Output non-zero offset for decompressed records 2021-10-04 7:06 ` Jiri Olsa @ 2021-10-08 18:44 ` Arnaldo Carvalho de Melo 0 siblings, 0 replies; 5+ messages in thread From: Arnaldo Carvalho de Melo @ 2021-10-08 18:44 UTC (permalink / raw) To: Jiri Olsa Cc: Bayduraev, Alexey V, Namhyung Kim, Alexander Shishkin, Peter Zijlstra, Ingo Molnar, linux-kernel, Andi Kleen, Adrian Hunter, Alexander Antonov, Alexei Budankov, Riccardo Mancini Em Mon, Oct 04, 2021 at 09:06:36AM +0200, Jiri Olsa escreveu: > On Mon, Oct 04, 2021 at 10:00:52AM +0300, Bayduraev, Alexey V wrote: > > On 04.10.2021 9:42, Jiri Olsa wrote: > > > On Wed, Sep 29, 2021 at 12:14:45PM +0300, Alexey Bayduraev wrote: > > >> Print offset of PERF_RECORD_COMPRESSED record instead of zero for > > >> decompressed records in raw trace dump (-D option of perf-report): > > >> 0x17cf08 [0x28]: event: 9 > > >> instead of: > > >> 0 [0x28]: event: 9 > > >> The fix is not critical, because currently file_pos for compressed > > >> events is used in perf_session__process_event only to show offsets > > >> in the raw dump. > > > I don't mind the change just curious, because I see also: > > > > > > perf_session__process_event > > > perf_session__process_user_event > > > lseek(fd, file_offset, ... > > > which is not raw dump as the comment suggests > > Yes, but this "lseek" only works for user events, whereas the > > PERF_RECORD_COMPRESSED record shouln't contain such events. > > Currently, the PERF_RECORD_COMPRESSED container can only pack > > kernel events. > Acked-by: Jiri Olsa <jolsa@redhat.com> Thanks, applied. - Arnaldo ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-10-08 18:44 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-09-29 9:14 [PATCH] perf report: Output non-zero offset for decompressed records Alexey Bayduraev 2021-10-04 6:42 ` Jiri Olsa 2021-10-04 7:00 ` Bayduraev, Alexey V 2021-10-04 7:06 ` Jiri Olsa 2021-10-08 18:44 ` Arnaldo Carvalho de Melo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox