* [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 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.