From: Namhyung Kim <namhyung@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>,
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>,
John Garry <john.g.garry@oracle.com>,
Will Deacon <will@kernel.org>,
James Clark <james.clark@linaro.org>,
Mike Leach <mike.leach@linaro.org>, Leo Yan <leo.yan@linux.dev>,
Guo Ren <guoren@kernel.org>,
Paul Walmsley <paul.walmsley@sifive.com>,
Palmer Dabbelt <palmer@dabbelt.com>,
Albert Ou <aou@eecs.berkeley.edu>, Nick Terrell <terrelln@fb.com>,
Guilherme Amadio <amadio@gentoo.org>,
Changbin Du <changbin.du@huawei.com>,
"Steinar H. Gunderson" <sesse@google.com>,
Aditya Gupta <adityag@linux.ibm.com>,
Athira Rajeev <atrajeev@linux.vnet.ibm.com>,
Masahiro Yamada <masahiroy@kernel.org>,
Huacai Chen <chenhuacai@kernel.org>,
Bibo Mao <maobibo@loongson.cn>, Kajol Jain <kjain@linux.ibm.com>,
Anup Patel <anup@brainfault.org>,
Shenlin Liang <liangshenlin@eswincomputing.com>,
Atish Patra <atishp@rivosinc.com>,
Oliver Upton <oliver.upton@linux.dev>,
Chen Pei <cp0613@linux.alibaba.com>,
Dima Kogan <dima@secretsauce.net>,
Alexander Lobakin <aleksander.lobakin@intel.com>,
"David S. Miller" <davem@davemloft.net>,
Przemek Kitszel <przemyslaw.kitszel@intel.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
Yang Jihong <yangjihong@bytedance.com>
Subject: Re: [PATCH v1 11/11] perf build: Rename PERF_HAVE_DWARF_REGS to PERF_HAVE_LIBDW_REGS
Date: Thu, 3 Oct 2024 22:12:25 -0700 [thread overview]
Message-ID: <Zv95OTflePPTMi7I@google.com> (raw)
In-Reply-To: <CAP-5=fVvzNMDPUpAvK0itjG0ZptrSg-_BN3t6UwB4XAvSsDt8w@mail.gmail.com>
On Thu, Oct 03, 2024 at 05:58:13PM -0700, Ian Rogers wrote:
> On Thu, Oct 3, 2024 at 3:48 PM Namhyung Kim <namhyung@kernel.org> wrote:
> > I agree renaming libdw-specific parts. But the register is for DWARF,
> > not libdw even if it's currently used by libdw only. So I don't want
> > to rename it.
>
> So your objection is that we have files called:
> tools/perf/arch/*/util/dwarf-regs.c
> and PERF_HAVE_DRWARF_REGS is an indication that this file exists. This
> file declares a single get_arch_regnum function. The building of the
> file after this series is:
> perf-util-$(CONFIG_LIBDW) += dwarf-regs.o
Well.. I think we can even make it
perf-util-y += dwarf-regs.o
since it doesn't have any dependency on libdw. But it'd be inefficent
to ship the dead code and data. Anyway we may remove the condition to
define the PERF_HAVE_DWARF_REGS like below.
diff --git a/tools/perf/arch/x86/Makefile b/tools/perf/arch/x86/Makefile
index 67b4969a673836eb..f1eb1ee1ea25ca53 100644
--- a/tools/perf/arch/x86/Makefile
+++ b/tools/perf/arch/x86/Makefile
@@ -1,7 +1,5 @@
# SPDX-License-Identifier: GPL-2.0
-ifndef NO_DWARF
PERF_HAVE_DWARF_REGS := 1
-endif
HAVE_KVM_STAT_SUPPORT := 1
PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
PERF_HAVE_JITDUMP := 1
>
> My objection is that PERF_HAVE_DWARF_REGS is controlling the #define
> HAVE_LIBDW_SUPPORT, so dwarf (that can mean libunwind, libdw, etc.) is
> guarding having libdw which is backward and part of what this series
> has been trying to clean up.
Why not? If the arch doesn't define DWARF registers, it can refuse
libdw support because it won't work well.
>
> If we rename tools/perf/arch/*/util/dwarf-regs.c to
> tools/perf/arch/*/util/libdw-helpers.c the PERF_HAVE_DWARF_REGS can be
> renamed to PERF_HAVE_LIBDW_HELPERS to align. Then
> PERF_HAVE_LIBDW_HELPERS guarding the #define PERF_HAVE_LIBDW makes
> sense to me and I think we achieve the filename alignment you are
> looking for.
I don't think it's a good idea. The logic is not specific to libdw.
>
> Yes get_arch_regnum could make sense out of libdw and needn't just be
> a helper for it, but let's worry about that when there's a need.
> What's confusing at the moment is does libdw provide dwarf support,
> which I'd say is expected, or does dwarf provide libdw support?
As I said, it's about refusing libdw.
ifndef NO_LIBDW
ifeq ($(origin PERF_HAVE_DWARF_REGS), undefined)
$(warning DWARF register mappings have not been defined for architecture $(SRCARCH), DWARF support disabled)
NO_LIBDW := 1
else
CFLAGS += -DHAVE_DWARF_SUPPORT $(LIBDW_CFLAGS)
LDFLAGS += $(LIBDW_LDFLAGS)
EXTLIBS += ${DWARFLIBS}
$(call detected,CONFIG_DWARF)
endif # PERF_HAVE_DWARF_REGS
endif # NO_LIBDW
Thanks,
Namhyung
next prev parent reply other threads:[~2024-10-04 5:12 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-24 16:04 [PATCH v1 00/11] Libdw/dwarf build clean up Ian Rogers
2024-09-24 16:04 ` [PATCH v1 01/11] perf build: Rename NO_DWARF to NO_LIBDW Ian Rogers
2024-09-26 0:26 ` Namhyung Kim
2024-09-26 15:02 ` Ian Rogers
2024-09-26 19:28 ` Namhyung Kim
2024-09-29 2:01 ` Masami Hiramatsu
2024-09-29 2:01 ` Masami Hiramatsu
2024-09-24 16:04 ` [PATCH v1 02/11] perf build: Remove defined but never used variable Ian Rogers
2024-09-29 2:02 ` Masami Hiramatsu
2024-09-24 16:04 ` [PATCH v1 03/11] perf build: Rename test-dwarf to test-libdw Ian Rogers
2024-09-26 0:28 ` Namhyung Kim
2024-09-26 15:37 ` Ian Rogers
2024-09-26 18:23 ` Namhyung Kim
2024-09-29 2:06 ` Masami Hiramatsu
2024-09-24 16:04 ` [PATCH v1 04/11] perf build: Combine libdw-dwarf-unwind into libdw feature tests Ian Rogers
2024-09-24 16:04 ` [PATCH v1 05/11] perf build: Combine test-dwarf-getlocations into test-libdw Ian Rogers
2024-09-24 16:04 ` [PATCH v1 06/11] perf build: Combine test-dwarf-getcfi " Ian Rogers
2024-09-24 16:04 ` [PATCH v1 07/11] perf probe: Move elfutils support check to libdw check Ian Rogers
2024-09-26 0:29 ` Namhyung Kim
2024-09-26 15:08 ` Ian Rogers
2024-09-26 19:35 ` Namhyung Kim
2024-09-24 16:04 ` [PATCH v1 08/11] perf libdw: Remove unnecessary defines Ian Rogers
2024-09-29 2:10 ` Masami Hiramatsu
2024-09-24 16:04 ` [PATCH v1 09/11] perf build: Rename HAVE_DWARF_SUPPORT to HAVE_LIBDW_SUPPORT Ian Rogers
2024-09-26 0:34 ` Namhyung Kim
2024-09-26 15:10 ` Ian Rogers
2024-09-26 19:36 ` Namhyung Kim
2024-09-24 16:04 ` [PATCH v1 10/11] perf build: Rename CONFIG_DWARF to CONFIG_LIBDW Ian Rogers
2024-09-24 16:04 ` [PATCH v1 11/11] perf build: Rename PERF_HAVE_DWARF_REGS to PERF_HAVE_LIBDW_REGS Ian Rogers
2024-09-26 3:27 ` Namhyung Kim
2024-09-26 12:47 ` Ian Rogers
2024-09-26 19:39 ` Namhyung Kim
2024-09-26 19:55 ` Ian Rogers
2024-09-27 17:16 ` Namhyung Kim
2024-09-27 18:15 ` Ian Rogers
2024-09-29 2:35 ` Masami Hiramatsu
2024-10-01 4:02 ` Ian Rogers
2024-10-01 23:09 ` Namhyung Kim
2024-10-01 23:17 ` Ian Rogers
2024-10-01 23:28 ` Masami Hiramatsu
2024-10-02 1:31 ` Ian Rogers
2024-10-02 13:56 ` Masami Hiramatsu
2024-10-02 14:27 ` Ian Rogers
2024-10-03 22:48 ` Namhyung Kim
2024-10-04 0:58 ` Ian Rogers
2024-10-04 5:12 ` Namhyung Kim [this message]
2024-10-04 14:45 ` Masami Hiramatsu
2024-10-04 15:15 ` Ian Rogers
2024-10-04 19:23 ` Namhyung Kim
2024-10-04 14:32 ` Masami Hiramatsu
2024-09-24 19:44 ` [PATCH v1 00/11] Libdw/dwarf build clean up Leo Yan
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=Zv95OTflePPTMi7I@google.com \
--to=namhyung@kernel.org \
--cc=acme@kernel.org \
--cc=adityag@linux.ibm.com \
--cc=adrian.hunter@intel.com \
--cc=aleksander.lobakin@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=amadio@gentoo.org \
--cc=anup@brainfault.org \
--cc=aou@eecs.berkeley.edu \
--cc=atishp@rivosinc.com \
--cc=atrajeev@linux.vnet.ibm.com \
--cc=changbin.du@huawei.com \
--cc=chenhuacai@kernel.org \
--cc=cp0613@linux.alibaba.com \
--cc=davem@davemloft.net \
--cc=dima@secretsauce.net \
--cc=guoren@kernel.org \
--cc=irogers@google.com \
--cc=james.clark@linaro.org \
--cc=john.g.garry@oracle.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=kjain@linux.ibm.com \
--cc=leo.yan@linux.dev \
--cc=liangshenlin@eswincomputing.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=maobibo@loongson.cn \
--cc=mark.rutland@arm.com \
--cc=masahiroy@kernel.org \
--cc=mhiramat@kernel.org \
--cc=mike.leach@linaro.org \
--cc=mingo@redhat.com \
--cc=oliver.upton@linux.dev \
--cc=palmer@dabbelt.com \
--cc=paul.walmsley@sifive.com \
--cc=peterz@infradead.org \
--cc=przemyslaw.kitszel@intel.com \
--cc=sesse@google.com \
--cc=terrelln@fb.com \
--cc=will@kernel.org \
--cc=yangjihong@bytedance.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.