[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250424061943.1321025-1-irogers@google.com>
Date: Wed, 23 Apr 2025 23:19:38 -0700
From: Ian Rogers <irogers@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>, Namhyung Kim <namhyung@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Jiri Olsa <jolsa@...nel.org>,
Ian Rogers <irogers@...gle.com>, Adrian Hunter <adrian.hunter@...el.com>,
Kan Liang <kan.liang@...ux.intel.com>, Athira Rajeev <atrajeev@...ux.ibm.com>,
Kajol Jain <kjain@...ux.ibm.com>, Li Huafei <lihuafei1@...wei.com>,
"Steinar H. Gunderson" <sesse@...gle.com>, Stephen Brennan <stephen.s.brennan@...cle.com>,
James Clark <james.clark@...aro.org>, Andi Kleen <ak@...ux.intel.com>,
Dmitry Vyukov <dvyukov@...gle.com>, Zhongqiu Han <quic_zhonhan@...cinc.com>,
Yicong Yang <yangyicong@...ilicon.com>, Michael Petlan <mpetlan@...hat.com>,
"Krzysztof Łopatowski" <krzysztof.m.lopatowski@...il.com>,
"Dr. David Alan Gilbert" <linux@...blig.org>, Leo Yan <leo.yan@....com>,
Steve Clevenger <scclevenger@...amperecomputing.com>, Zixian Cai <fzczx123@...il.com>,
Thomas Falcon <thomas.falcon@...el.com>, Martin Liska <martin.liska@....com>,
"Martin Liška" <m.liska@...link.cz>, linux-perf-users@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v1 0/5] perf: Default use of build IDs and improvements
Build ID mmap2 events have been available since Linux v5.12 and avoid
post-processing the perf.data file to inject build IDs for DSOs
referenced by samples. Enable these by default as discussed in:
https://lore.kernel.org/linux-perf-users/CAP-5=fXP7jN_QrGUcd55_QH5J-Y-FCaJ6=NaHVtyx0oyNh8_-Q@mail.gmail.com/
The dso_id is used to indentify a DSO that may change by being
overwritten. The inode generation isn't present in /proc/pid/maps and
so was already only optionally filled in. With build ID mmap events
the other major, minor and inode varialbes aren't filled in. Change
the dso_id implementation to make optional values explicit, rather
than injecting a dso_id we want to improve it during find operations,
add the buildid to the dso_id for sorting and so that matching fails
when build IDs vary between DSOs.
Other minor bits of build_id clean up.
Ian Rogers (5):
perf build-id: Reduce size of "size" variable
perf build-id: Truncate to avoid overflowing the build_id data
perf build-id: Change sprintf functions to snprintf
perf dso: Move build_id to dso_id
perf record: Make --buildid-mmap the default
tools/perf/builtin-buildid-cache.c | 12 +-
tools/perf/builtin-buildid-list.c | 6 +-
tools/perf/builtin-inject.c | 32 ++---
tools/perf/builtin-record.c | 35 ++++--
tools/perf/builtin-report.c | 11 +-
tools/perf/include/perf/perf_dlfilter.h | 2 +-
tools/perf/tests/symbols.c | 4 +-
tools/perf/util/build-id.c | 40 +++----
tools/perf/util/build-id.h | 8 +-
tools/perf/util/disasm.c | 2 +-
tools/perf/util/dso.c | 111 ++++++++++--------
tools/perf/util/dso.h | 75 ++++++------
tools/perf/util/dsos.c | 20 ++--
tools/perf/util/event.c | 2 +-
tools/perf/util/header.c | 2 +-
tools/perf/util/machine.c | 28 ++---
tools/perf/util/map.c | 15 ++-
tools/perf/util/map.h | 5 +-
tools/perf/util/probe-file.c | 4 +-
.../scripting-engines/trace-event-python.c | 7 +-
tools/perf/util/sort.c | 27 +++--
tools/perf/util/symbol.c | 2 +-
tools/perf/util/symbol_conf.h | 2 +-
tools/perf/util/synthetic-events.c | 42 ++++---
24 files changed, 271 insertions(+), 223 deletions(-)
--
2.49.0.805.g082f7c87e0-goog
Powered by blists - more mailing lists