From: duchangbin <changbin.du@huawei.com>
To: Adrian Hunter <adrian.hunter@intel.com>
Cc: duchangbin <changbin.du@huawei.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
"Arnaldo Carvalho de Melo" <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Nathan Chancellor <nathan@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, "Ian Rogers" <irogers@google.com>,
"Liang, Kan" <kan.liang@linux.intel.com>,
"Nick Desaulniers" <ndesaulniers@google.com>,
Bill Wendling <morbo@google.com>,
Justin Stitt <justinstitt@google.com>,
"linux-perf-users@vger.kernel.org"
<linux-perf-users@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"llvm@lists.linux.dev" <llvm@lists.linux.dev>,
"Wanghui (OS Kernel Lab, Beijing)" <hw.huiwang@huawei.com>
Subject: Re: [PATCH v5 4/8] perf: build-id: name debugging vdso as "debug"
Date: Mon, 22 Jul 2024 12:08:56 +0000 [thread overview]
Message-ID: <8a7156281b45450ebf0511373f65afa7@huawei.com> (raw)
In-Reply-To: <14afba8e-cb85-4d7d-96e4-d65fd8ebc2d5@intel.com>
On Thu, Jul 18, 2024 at 08:03:07PM +0300, Adrian Hunter wrote:
> On 2/07/24 07:18, Changbin Du wrote:
> > As normal objects, we will add debugging vdso elf to build-id cache later.
> > Here we name the debugging one as "debug".
> >
> > Signed-off-by: Changbin Du <changbin.du@huawei.com>
> > ---
> > tools/perf/util/build-id.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
> > index 83a1581e8cf1..15530af2bad9 100644
> > --- a/tools/perf/util/build-id.c
> > +++ b/tools/perf/util/build-id.c
> > @@ -259,8 +259,8 @@ static bool build_id_cache__valid_id(char *sbuild_id)
> > static const char *build_id_cache__basename(bool is_kallsyms, bool is_vdso,
> > bool is_debug)
> > {
> > - return is_kallsyms ? "kallsyms" : (is_vdso ? "vdso" : (is_debug ?
> > - "debug" : "elf"));
> > + return is_kallsyms ? "kallsyms" : (is_debug ? "debug" : (is_vdso ?
> > + "vdso" : "elf"));
> > }
> >
> > char *__dso__build_id_filename(const struct dso *dso, char *bf, size_t size,
>
> To actually add "debug", this also needs:
>
> diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
> index 15530af2bad9..b5bd02a1ad0f 100644
> --- a/tools/perf/util/build-id.c
> +++ b/tools/perf/util/build-id.c
> @@ -701,7 +701,7 @@ build_id_cache__add(const char *sbuild_id, const char *name, const char *realnam
> * file itself may not be very useful to users of our tools without a
> * symtab.
> */
> - if (!is_kallsyms && !is_vdso &&
> + if (!is_kallsyms &&
> strncmp(".ko", name + strlen(name) - 3, 3)) {
> debugfile = build_id_cache__find_debug(sbuild_id, nsi, root_dir);
> if (debugfile) {
>
>
>
This is done by later patch named "perf: build-id: try to search debugging vdso
and add to cache". I split the changes into two patches.
> With that perf will populated the "debug" entry in the build-id cache.
> Currently, when adding to the build-id cache, perf only looks in
> /usr/lib/debug/.build-id (refer build_id_cache__find_debug()), for
> example:
>
>
> $ sudo ln -s /lib/modules/6.9.2-local/build/arch/x86/entry/vdso/vdso64.so.dbg /usr/lib/debug/.build-id/cf/702469f4637840fd6ba1a8d8a628ff83253d04.debug
> $ ls -l ~/.debug/\[vdso\]/cf702469f4637840fd6ba1a8d8a628ff83253d04/
> total 8
> -rw-r--r-- 1 ahunter ahunter 0 Jul 18 13:33 probes
> -rw------- 1 ahunter ahunter 8192 Jul 18 13:33 vdso
> $ perf record uname
> Linux
> [ perf record: Woken up 1 times to write data ]
> [ perf record: Captured and wrote 0.010 MB perf.data (2 samples) ]
> $ ls -l ~/.debug/\[vdso\]/cf702469f4637840fd6ba1a8d8a628ff83253d04/
> total 40
> -rwxrwxr-x 2 ahunter ahunter 32760 May 27 17:42 debug
> -rw-r--r-- 1 ahunter ahunter 0 Jul 18 13:33 probes
> -rw------- 1 ahunter ahunter 8192 Jul 18 13:33 vdso
>
>
> Note, perf will anyway find the debug object in /usr/lib/debug/.build-id
> so the benefit is if perf-archive is used to copy from the buildid-cache
> to take to another machine.
>
>
--
Cheers,
Changbin Du
next prev parent reply other threads:[~2024-07-22 12:09 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-02 4:18 [PATCH v5 0/8] perf: support specify vdso path in cmdline Changbin Du
2024-07-02 4:18 ` [PATCH v5 1/8] " Changbin Du
2024-07-18 17:02 ` Adrian Hunter
2024-07-22 12:19 ` duchangbin
2024-07-22 13:15 ` Adrian Hunter
2024-07-23 1:50 ` duchangbin
2024-07-02 4:18 ` [PATCH v5 2/8] perf: disasm: refactor function dso__disassemble_filename Changbin Du
2024-07-02 4:18 ` [PATCH v5 3/8] perf: disasm: use build_id_path if fallback failed Changbin Du
2024-07-02 4:18 ` [PATCH v5 4/8] perf: build-id: name debugging vdso as "debug" Changbin Du
2024-07-18 17:03 ` Adrian Hunter
2024-07-22 12:08 ` duchangbin [this message]
2024-07-22 13:21 ` Adrian Hunter
2024-07-23 1:51 ` duchangbin
2024-07-02 4:18 ` [PATCH v5 5/8] perf: symbol: generalize vmlinux path searching Changbin Du
2024-07-02 4:18 ` [PATCH v5 6/8] perf: build-id: try to search debugging vdso and add to cache Changbin Du
2024-07-02 4:18 ` [PATCH v5 7/8] perf: disasm: prefer debugging files in build-id cache Changbin Du
2024-07-02 4:18 ` [PATCH v5 8/8] perf buildid-cache: recognize vdso when adding files Changbin Du
2024-07-03 23:18 ` Namhyung Kim
2024-07-04 1:43 ` duchangbin
2024-07-24 14:55 ` kernel test robot
2024-07-15 11:38 ` [PATCH v5 0/8] perf: support specify vdso path in cmdline duchangbin
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=8a7156281b45450ebf0511373f65afa7@huawei.com \
--to=changbin.du@huawei.com \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=hw.huiwang@huawei.com \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=justinstitt@google.com \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=morbo@google.com \
--cc=namhyung@kernel.org \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=peterz@infradead.org \
/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.