lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 4 Oct 2021 10:00:52 +0300 From: "Bayduraev, Alexey V" <alexey.v.bayduraev@...ux.intel.com> To: Jiri Olsa <jolsa@...hat.com> Cc: Arnaldo Carvalho de Melo <acme@...nel.org>, Namhyung Kim <namhyung@...nel.org>, Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>, linux-kernel <linux-kernel@...r.kernel.org>, Andi Kleen <ak@...ux.intel.com>, Adrian Hunter <adrian.hunter@...el.com>, Alexander Antonov <alexander.antonov@...ux.intel.com>, Alexei Budankov <abudankov@...wei.com>, Riccardo Mancini <rickyman7@...il.com> Subject: Re: [PATCH] perf report: Output non-zero offset for decompressed records 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@...nel.org> >> Acked-by: Andi Kleen <ak@...ux.intel.com> >> Reviewed-by: Riccardo Mancini <rickyman7@...il.com> >> Tested-by: Riccardo Mancini <rickyman7@...il.com> >> Signed-off-by: Alexey Bayduraev <alexey.v.bayduraev@...ux.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 >> >
Powered by blists - more mailing lists