From: Namhyung Kim <namhyung@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
Masahiro Yamada <masahiroy@kernel.org>,
Arnd Bergmann <arnd@arndb.de>, Jann Horn <jannh@google.com>,
Colin Ian King <colin.i.king@gmail.com>,
Casey Chen <cachen@purestorage.com>,
Athira Rajeev <atrajeev@linux.vnet.ibm.com>,
Chaitanya S Prakash <chaitanyas.prakash@arm.com>,
James Clark <james.clark@linaro.org>,
Ze Gao <zegao2021@gmail.com>,
Yang Jihong <yangjihong1@huawei.com>,
Yunseong Kim <yskelg@gmail.com>,
Weilin Wang <weilin.wang@intel.com>,
Dominique Martinet <asmadeus@codewreck.org>,
Anne Macedo <retpolanne@posteo.net>,
Sun Haiyong <sunhaiyong@loongson.cn>,
linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v1 00/13] perf inject improvements
Date: Mon, 2 Sep 2024 11:27:04 -0700 [thread overview]
Message-ID: <ZtYDeE5kTy4KrRC5@google.com> (raw)
In-Reply-To: <20240817064442.2152089-1-irogers@google.com>
On Fri, Aug 16, 2024 at 11:44:29PM -0700, Ian Rogers wrote:
> Fix the existing build id injection by adding sample IDs on to the
> synthesized events. This correctly orders the events and addresses
> issues such as a profiled executable being replaced during its
> execution.
>
> Add a new --mmap2-buildid-all option that rewrites all mmap events as
> mmap2 events containing build IDs. This removes the need for build_id
> events.
>
> Add a new -B option that like --mmap2-buildid-all synthesizes mmap2
> with build id events. With -B the behavior is to do it lazily, so only
> when a sample references the particular map. With system wide
> profiling that synthesizes mmap events for all running processes the
> perf.data file savings can be greater than 50%.
>
> Reduce the memory footprint of perf inject by avoiding creating
> symbols in the callchain, the symbols aren't used during perf inject
> and necessitate the loading of dsos.
>
> Ian Rogers (13):
> perf synthetic-events: Avoid unnecessary memset
> perf map: API clean up
> perf jit: Constify filename argument
> perf dso: Constify dso_id
> perf evsel: Constify evsel__id_hdr_size argument
> perf test: Expand pipe/inject test
> perf inject: Combine build_ids and build_id_all into enum
> perf inject: Combine different mmap and mmap2 functions
> perf inject: Combine mmap and mmap2 handling
> perf inject: Fix build ID injection
> perf inject: Add new mmap2-buildid-all option
> perf inject: Lazy build-id mmap2 event insertion
> perf callchain: Allow symbols to be optional when resolving a
> callchain
For the remaining bits,
Acked-by: Namhyung Kim <namhyung@kernel.org>
Thanks,
Namhyung
>
> tools/perf/builtin-inject.c | 532 ++++++++++++++++++----------
> tools/perf/builtin-top.c | 2 +-
> tools/perf/tests/shell/pipe_test.sh | 103 ++++--
> tools/perf/tests/vmlinux-kallsyms.c | 4 +-
> tools/perf/util/build-id.c | 6 +-
> tools/perf/util/callchain.c | 8 +-
> tools/perf/util/callchain.h | 2 +-
> tools/perf/util/dso.c | 4 +-
> tools/perf/util/dso.h | 4 +-
> tools/perf/util/dsos.c | 12 +-
> tools/perf/util/dsos.h | 2 +-
> tools/perf/util/evsel.c | 2 +-
> tools/perf/util/evsel.h | 2 +-
> tools/perf/util/jit.h | 3 +-
> tools/perf/util/jitdump.c | 6 +-
> tools/perf/util/machine.c | 95 ++---
> tools/perf/util/machine.h | 36 +-
> tools/perf/util/map.c | 25 +-
> tools/perf/util/map.h | 22 +-
> tools/perf/util/synthetic-events.c | 103 +++++-
> tools/perf/util/synthetic-events.h | 21 +-
> 21 files changed, 682 insertions(+), 312 deletions(-)
>
> --
> 2.46.0.184.g6999bdac58-goog
>
prev parent reply other threads:[~2024-09-02 18:27 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-17 6:44 [PATCH v1 00/13] perf inject improvements Ian Rogers
2024-08-17 6:44 ` [PATCH v1 01/13] perf synthetic-events: Avoid unnecessary memset Ian Rogers
2024-08-17 6:44 ` [PATCH v1 02/13] perf map: API clean up Ian Rogers
2024-08-17 6:44 ` [PATCH v1 03/13] perf jit: Constify filename argument Ian Rogers
2024-08-17 6:44 ` [PATCH v1 04/13] perf dso: Constify dso_id Ian Rogers
2024-08-17 6:44 ` [PATCH v1 05/13] perf evsel: Constify evsel__id_hdr_size argument Ian Rogers
2024-08-17 6:44 ` [PATCH v1 06/13] perf test: Expand pipe/inject test Ian Rogers
2024-08-17 6:44 ` [PATCH v1 07/13] perf inject: Combine build_ids and build_id_all into enum Ian Rogers
2024-08-17 6:44 ` [PATCH v1 08/13] perf inject: Combine different mmap and mmap2 functions Ian Rogers
2024-08-17 6:44 ` [PATCH v1 09/13] perf inject: Combine mmap and mmap2 handling Ian Rogers
2024-08-17 6:44 ` [PATCH v1 10/13] perf inject: Fix build ID injection Ian Rogers
2024-08-19 18:01 ` Arnaldo Carvalho de Melo
2024-08-19 19:54 ` Ian Rogers
2024-08-28 15:15 ` Ian Rogers
2024-09-02 18:26 ` Namhyung Kim
2024-09-03 18:34 ` Arnaldo Carvalho de Melo
2024-08-17 6:44 ` [PATCH v1 11/13] perf inject: Add new mmap2-buildid-all option Ian Rogers
2024-08-17 6:44 ` [PATCH v1 12/13] perf inject: Lazy build-id mmap2 event insertion Ian Rogers
2024-08-17 6:44 ` [PATCH v1 13/13] perf callchain: Allow symbols to be optional when resolving a callchain Ian Rogers
2024-09-02 18:27 ` Namhyung Kim [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZtYDeE5kTy4KrRC5@google.com \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=arnd@arndb.de \
--cc=asmadeus@codewreck.org \
--cc=atrajeev@linux.vnet.ibm.com \
--cc=cachen@purestorage.com \
--cc=chaitanyas.prakash@arm.com \
--cc=colin.i.king@gmail.com \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=jannh@google.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=masahiroy@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=retpolanne@posteo.net \
--cc=sunhaiyong@loongson.cn \
--cc=weilin.wang@intel.com \
--cc=yangjihong1@huawei.com \
--cc=yskelg@gmail.com \
--cc=zegao2021@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.