lkml.org 
[lkml]   [2021]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] perf report: Output non-zero offset for decompressed records
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
>

\
 
 \ /
  Last update: 2021-10-04 08:43    [W:0.994 / U:0.128 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site