[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aFr4VwxaAi5u5U2F@google.com>
Date: Tue, 24 Jun 2025 12:11:19 -0700
From: Namhyung Kim <namhyung@...nel.org>
To: Ian Rogers <irogers@...gle.com>
Cc: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>,
Jiri Olsa <jolsa@...nel.org>,
Adrian Hunter <adrian.hunter@...el.com>,
Kan Liang <kan.liang@...ux.intel.com>,
James Clark <james.clark@...aro.org>,
Zhongqiu Han <quic_zhonhan@...cinc.com>,
Yicong Yang <yangyicong@...ilicon.com>,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
bpf@...r.kernel.org
Subject: Re: [PATCH v1 0/4] Pipe mode header dumping and minor space saving
On Fri, Jun 06, 2025 at 11:12:34PM -0700, Ian Rogers wrote:
> Pipe mode has no header and emits the data as if it were events. The
> dumping of features was controlled by the --header/-I options which
> makes little sense when they are events, normally traced when
> dump_trace is true. Switch to making pipe feature events also be
> traced with detail when other events are.
I'm not sure I'm following. Are you saying the pipe mode doesn't
support features with --header/-I option?
It seems to work for me.
$ git show
commit be59dba332e1e8edd3e88d991ba0e4795ae2bcb2 (HEAD -> perf-testing)
Author: Ian Rogers <irogers@...gle.com>
Date: Tue Jun 17 15:33:56 2025 -0700
libperf evsel: Add missed puts and asserts
A missed evsel__close before evsel__delete was the source of leaking
perf events due to a hybrid test. Add asserts in debug builds so that
this shouldn't happen in the future. Add puts missing on the cpu map
and thread maps.
Signed-off-by: Ian Rogers <irogers@...gle.com>
Link: https://lore.kernel.org/r/20250617223356.2752099-4-irogers@google.com
Signed-off-by: Namhyung Kim <namhyung@...nel.org>
$ ./perf version
perf version 6.16.rc3.gbe59dba332e1
$ ./perf record -o- true | ./perf report -i- --header-only
# ========
# captured on : Tue Jun 24 12:06:38 2025
# header version : 1
# data offset : 0
# data size : 0
# feat offset : 0
# ========
#
# hostname : bangji
# os release : 6.12.20-1rodete1-amd64
# perf version : 6.16.rc3.gbe59dba332e1
# arch : x86_64
# nrcpus online : 4
# nrcpus avail : 8
# cpudesc : 11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
# cpuid : GenuineIntel,6,140,1
# total memory : 32566540 kB
# cmdline : /home/namhyung/project/linux/tools/perf/perf record -o- true
# event : name = cycles:P, , id = { 369, 370, 371, 372 }, type = 0 (PERF_TYPE_HARDWARE), ...
# CPU_TOPOLOGY info available, use -I to display
# NUMA_TOPOLOGY info available, use -I to display
# pmu mappings: cpu = 4, breakpoint = 5, cstate_core = 22, cstate_pkg = 23, hwmon_acpitz = 4294901760, ...
# time of first sample : 0.000000
# time of last sample : 0.000000
# sample duration : 0.000 ms
# MEM_TOPOLOGY info available, use -I to display
# cpu pmu capabilities: branches=32, max_precise=3, pmu_name=icelake
# intel_pt pmu capabilities: topa_multiple_entries=1, psb_cyc=1, single_range_output=1, ...
>
> The attr event in pipe mode had no dumping, wire this up and use the
> existing perf_event_attr fprintf support.
>
> The header's bpf_prog_info or bpf_btf may be empty when written. If
> they are empty just skip writing them to save space.
These look good to me.
Thanks,
Namhyung
>
> Ian Rogers (4):
> perf header: In pipe mode dump features without --header/-I
> perf header: Allow tracing of attr events
> perf header: Display message if BPF/BTF info is empty
> perf header: Don't write empty BPF/BTF info
>
> tools/perf/util/header.c | 46 ++++++++++++++++++++++++++--------------
> tools/perf/util/header.h | 1 +
> 2 files changed, 31 insertions(+), 16 deletions(-)
>
> --
> 2.50.0.rc0.604.gd4ff7b7c86-goog
>
Powered by blists - more mailing lists