From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>,
kvm@vger.kernel.org, kvmarm@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-perf-users@vger.kernel.org, Mark Brown <broonie@kernel.org>,
Jing Zhang <jingzhangos@google.com>,
Zenghui Yu <yuzenghui@huawei.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
James Morse <james.morse@arm.com>, Marc Zyngier <maz@kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Ian Rogers <irogers@google.com>, Jiri Olsa <jolsa@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Mark Rutland <mark.rutland@arm.com>,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH v3 2/5] perf build: Generate arm64's sysreg-defs.h and add to include path
Date: Wed, 18 Oct 2023 11:12:53 -0300 [thread overview]
Message-ID: <ZS/n5dqo6dZE40HE@kernel.org> (raw)
In-Reply-To: <CAM9d7cjxkAmEc=g0jWBPQ9d6GYmfdZSKjqi5v0UsoPvkQy-fSw@mail.gmail.com>
Em Tue, Oct 17, 2023 at 03:23:40PM -0700, Namhyung Kim escreveu:
> Hello,
>
> On Wed, Oct 11, 2023 at 12:58 PM Oliver Upton <oliver.upton@linux.dev> wrote:
> >
> > Start generating sysreg-defs.h in anticipation of updating sysreg.h to a
> > version that needs the generated output.
> >
> > Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
>
> It seems we also need this on non-ARM archs to process ARM SPE data.
>
> Acked-by: Namhyung Kim <namhyung@kernel.org>
When building with CORESIGHT=1, yes.
I have it in my tests and:
⬢[acme@toolbox perf-tools-next]$ ls -la /tmp/build/perf-tools-next/util/arm-spe.o
-rw-r--r--. 1 acme acme 135432 Oct 17 16:49 /tmp/build/perf-tools-next/util/arm-spe.o
⬢[acme@toolbox perf-tools-next]$ ldd /tmp/build/perf-tools-next/perf | grep csd
libopencsd_c_api.so.1 => /lib64/libopencsd_c_api.so.1 (0x00007f36bfca5000)
libopencsd.so.1 => /lib64/libopencsd.so.1 (0x00007f36be2e0000)
⬢[acme@toolbox perf-tools-next]$ rpm -qf /lib64/libopencsd.so.1
opencsd-1.3.3-1.fc38.x86_64
⬢[acme@toolbox perf-tools-next]$ rpm -q --qf "%{summary}\n" opencsd
An open source CoreSight(tm) Trace Decode library
⬢[acme@toolbox perf-tools-next]$
Well, double checked and arm-spe.o is built by default, only way to
disable it is using NO_AUXTRACE=1 in the make command line, but then
IIRC one needs linking with opencsd to decode all those traces, right?
Anyway:
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
- Arnaldo
> Thanks,
> Namhyung
>
>
> > ---
> > tools/perf/Makefile.perf | 15 +++++++++++++--
> > tools/perf/util/Build | 2 +-
> > 2 files changed, 14 insertions(+), 3 deletions(-)
> >
> > diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> > index 37af6df7b978..14dedd11a1f5 100644
> > --- a/tools/perf/Makefile.perf
> > +++ b/tools/perf/Makefile.perf
> > @@ -443,6 +443,15 @@ drm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/drm_ioctl.sh
> > # Create output directory if not already present
> > _dummy := $(shell [ -d '$(beauty_ioctl_outdir)' ] || mkdir -p '$(beauty_ioctl_outdir)')
> >
> > +arm64_gen_sysreg_dir := $(srctree)/tools/arch/arm64/tools
> > +
> > +arm64-sysreg-defs: FORCE
> > + $(Q)$(MAKE) -C $(arm64_gen_sysreg_dir)
> > +
> > +arm64-sysreg-defs-clean:
> > + $(call QUIET_CLEAN,arm64-sysreg-defs)
> > + $(Q)$(MAKE) -C $(arm64_gen_sysreg_dir) clean > /dev/null
> > +
> > $(drm_ioctl_array): $(drm_hdr_dir)/drm.h $(drm_hdr_dir)/i915_drm.h $(drm_ioctl_tbl)
> > $(Q)$(SHELL) '$(drm_ioctl_tbl)' $(drm_hdr_dir) > $@
> >
> > @@ -716,7 +725,9 @@ endif
> > __build-dir = $(subst $(OUTPUT),,$(dir $@))
> > build-dir = $(or $(__build-dir),.)
> >
> > -prepare: $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)common-cmds.h archheaders $(drm_ioctl_array) \
> > +prepare: $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)common-cmds.h archheaders \
> > + arm64-sysreg-defs \
> > + $(drm_ioctl_array) \
> > $(fadvise_advice_array) \
> > $(fsconfig_arrays) \
> > $(fsmount_arrays) \
> > @@ -1125,7 +1136,7 @@ endif # BUILD_BPF_SKEL
> > bpf-skel-clean:
> > $(call QUIET_CLEAN, bpf-skel) $(RM) -r $(SKEL_TMP_OUT) $(SKELETONS)
> >
> > -clean:: $(LIBAPI)-clean $(LIBBPF)-clean $(LIBSUBCMD)-clean $(LIBSYMBOL)-clean $(LIBPERF)-clean fixdep-clean python-clean bpf-skel-clean tests-coresight-targets-clean
> > +clean:: $(LIBAPI)-clean $(LIBBPF)-clean $(LIBSUBCMD)-clean $(LIBSYMBOL)-clean $(LIBPERF)-clean arm64-sysreg-defs-clean fixdep-clean python-clean bpf-skel-clean tests-coresight-targets-clean
> > $(call QUIET_CLEAN, core-objs) $(RM) $(LIBPERF_A) $(OUTPUT)perf-archive $(OUTPUT)perf-iostat $(LANG_BINDINGS)
> > $(Q)find $(or $(OUTPUT),.) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
> > $(Q)$(RM) $(OUTPUT).config-detected
> > diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> > index 6d657c9927f7..2f76230958ad 100644
> > --- a/tools/perf/util/Build
> > +++ b/tools/perf/util/Build
> > @@ -345,7 +345,7 @@ CFLAGS_rbtree.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ET
> > CFLAGS_libstring.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
> > CFLAGS_hweight.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
> > CFLAGS_header.o += -include $(OUTPUT)PERF-VERSION-FILE
> > -CFLAGS_arm-spe.o += -I$(srctree)/tools/arch/arm64/include/
> > +CFLAGS_arm-spe.o += -I$(srctree)/tools/arch/arm64/include/ -I$(srctree)/tools/arch/arm64/include/generated/
> >
> > $(OUTPUT)util/argv_split.o: ../lib/argv_split.c FORCE
> > $(call rule_mkdir)
> > --
> > 2.42.0.609.gbb76f46606-goog
> >
--
- Arnaldo
WARNING: multiple messages have this Message-ID (diff)
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Oliver Upton <oliver.upton@linux.dev>,
kvm@vger.kernel.org, kvmarm@lists.linux.dev,
linux-arm-kernel@lists.infradead.org,
linux-perf-users@vger.kernel.org, Mark Brown <broonie@kernel.org>,
Jing Zhang <jingzhangos@google.com>,
Zenghui Yu <yuzenghui@huawei.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
James Morse <james.morse@arm.com>, Marc Zyngier <maz@kernel.org>,
Paolo Bonzini <pbonzini@redhat.com>,
Adrian Hunter <adrian.hunter@intel.com>,
Ian Rogers <irogers@google.com>, Jiri Olsa <jolsa@kernel.org>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Mark Rutland <mark.rutland@arm.com>,
Ingo Molnar <mingo@redhat.com>,
Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH v3 2/5] perf build: Generate arm64's sysreg-defs.h and add to include path
Date: Wed, 18 Oct 2023 11:12:53 -0300 [thread overview]
Message-ID: <ZS/n5dqo6dZE40HE@kernel.org> (raw)
In-Reply-To: <CAM9d7cjxkAmEc=g0jWBPQ9d6GYmfdZSKjqi5v0UsoPvkQy-fSw@mail.gmail.com>
Em Tue, Oct 17, 2023 at 03:23:40PM -0700, Namhyung Kim escreveu:
> Hello,
>
> On Wed, Oct 11, 2023 at 12:58 PM Oliver Upton <oliver.upton@linux.dev> wrote:
> >
> > Start generating sysreg-defs.h in anticipation of updating sysreg.h to a
> > version that needs the generated output.
> >
> > Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
>
> It seems we also need this on non-ARM archs to process ARM SPE data.
>
> Acked-by: Namhyung Kim <namhyung@kernel.org>
When building with CORESIGHT=1, yes.
I have it in my tests and:
⬢[acme@toolbox perf-tools-next]$ ls -la /tmp/build/perf-tools-next/util/arm-spe.o
-rw-r--r--. 1 acme acme 135432 Oct 17 16:49 /tmp/build/perf-tools-next/util/arm-spe.o
⬢[acme@toolbox perf-tools-next]$ ldd /tmp/build/perf-tools-next/perf | grep csd
libopencsd_c_api.so.1 => /lib64/libopencsd_c_api.so.1 (0x00007f36bfca5000)
libopencsd.so.1 => /lib64/libopencsd.so.1 (0x00007f36be2e0000)
⬢[acme@toolbox perf-tools-next]$ rpm -qf /lib64/libopencsd.so.1
opencsd-1.3.3-1.fc38.x86_64
⬢[acme@toolbox perf-tools-next]$ rpm -q --qf "%{summary}\n" opencsd
An open source CoreSight(tm) Trace Decode library
⬢[acme@toolbox perf-tools-next]$
Well, double checked and arm-spe.o is built by default, only way to
disable it is using NO_AUXTRACE=1 in the make command line, but then
IIRC one needs linking with opencsd to decode all those traces, right?
Anyway:
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
- Arnaldo
> Thanks,
> Namhyung
>
>
> > ---
> > tools/perf/Makefile.perf | 15 +++++++++++++--
> > tools/perf/util/Build | 2 +-
> > 2 files changed, 14 insertions(+), 3 deletions(-)
> >
> > diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> > index 37af6df7b978..14dedd11a1f5 100644
> > --- a/tools/perf/Makefile.perf
> > +++ b/tools/perf/Makefile.perf
> > @@ -443,6 +443,15 @@ drm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/drm_ioctl.sh
> > # Create output directory if not already present
> > _dummy := $(shell [ -d '$(beauty_ioctl_outdir)' ] || mkdir -p '$(beauty_ioctl_outdir)')
> >
> > +arm64_gen_sysreg_dir := $(srctree)/tools/arch/arm64/tools
> > +
> > +arm64-sysreg-defs: FORCE
> > + $(Q)$(MAKE) -C $(arm64_gen_sysreg_dir)
> > +
> > +arm64-sysreg-defs-clean:
> > + $(call QUIET_CLEAN,arm64-sysreg-defs)
> > + $(Q)$(MAKE) -C $(arm64_gen_sysreg_dir) clean > /dev/null
> > +
> > $(drm_ioctl_array): $(drm_hdr_dir)/drm.h $(drm_hdr_dir)/i915_drm.h $(drm_ioctl_tbl)
> > $(Q)$(SHELL) '$(drm_ioctl_tbl)' $(drm_hdr_dir) > $@
> >
> > @@ -716,7 +725,9 @@ endif
> > __build-dir = $(subst $(OUTPUT),,$(dir $@))
> > build-dir = $(or $(__build-dir),.)
> >
> > -prepare: $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)common-cmds.h archheaders $(drm_ioctl_array) \
> > +prepare: $(OUTPUT)PERF-VERSION-FILE $(OUTPUT)common-cmds.h archheaders \
> > + arm64-sysreg-defs \
> > + $(drm_ioctl_array) \
> > $(fadvise_advice_array) \
> > $(fsconfig_arrays) \
> > $(fsmount_arrays) \
> > @@ -1125,7 +1136,7 @@ endif # BUILD_BPF_SKEL
> > bpf-skel-clean:
> > $(call QUIET_CLEAN, bpf-skel) $(RM) -r $(SKEL_TMP_OUT) $(SKELETONS)
> >
> > -clean:: $(LIBAPI)-clean $(LIBBPF)-clean $(LIBSUBCMD)-clean $(LIBSYMBOL)-clean $(LIBPERF)-clean fixdep-clean python-clean bpf-skel-clean tests-coresight-targets-clean
> > +clean:: $(LIBAPI)-clean $(LIBBPF)-clean $(LIBSUBCMD)-clean $(LIBSYMBOL)-clean $(LIBPERF)-clean arm64-sysreg-defs-clean fixdep-clean python-clean bpf-skel-clean tests-coresight-targets-clean
> > $(call QUIET_CLEAN, core-objs) $(RM) $(LIBPERF_A) $(OUTPUT)perf-archive $(OUTPUT)perf-iostat $(LANG_BINDINGS)
> > $(Q)find $(or $(OUTPUT),.) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
> > $(Q)$(RM) $(OUTPUT).config-detected
> > diff --git a/tools/perf/util/Build b/tools/perf/util/Build
> > index 6d657c9927f7..2f76230958ad 100644
> > --- a/tools/perf/util/Build
> > +++ b/tools/perf/util/Build
> > @@ -345,7 +345,7 @@ CFLAGS_rbtree.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ET
> > CFLAGS_libstring.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
> > CFLAGS_hweight.o += -Wno-unused-parameter -DETC_PERFCONFIG="BUILD_STR($(ETC_PERFCONFIG_SQ))"
> > CFLAGS_header.o += -include $(OUTPUT)PERF-VERSION-FILE
> > -CFLAGS_arm-spe.o += -I$(srctree)/tools/arch/arm64/include/
> > +CFLAGS_arm-spe.o += -I$(srctree)/tools/arch/arm64/include/ -I$(srctree)/tools/arch/arm64/include/generated/
> >
> > $(OUTPUT)util/argv_split.o: ../lib/argv_split.c FORCE
> > $(call rule_mkdir)
> > --
> > 2.42.0.609.gbb76f46606-goog
> >
--
- Arnaldo
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-10-18 14:12 UTC|newest]
Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-11 19:57 [PATCH v3 0/5] KVM: selftests: Add ID reg test, update headers Oliver Upton
2023-10-11 19:57 ` Oliver Upton
2023-10-11 19:57 ` [PATCH v3 1/5] tools: arm64: Add a Makefile for generating sysreg-defs.h Oliver Upton
2023-10-11 19:57 ` Oliver Upton
2023-10-18 9:50 ` Eric Auger
2023-10-18 9:50 ` Eric Auger
2023-10-11 19:57 ` [PATCH v3 2/5] perf build: Generate arm64's sysreg-defs.h and add to include path Oliver Upton
2023-10-11 19:57 ` Oliver Upton
2023-10-17 22:23 ` Namhyung Kim
2023-10-17 22:23 ` Namhyung Kim
2023-10-18 14:12 ` Arnaldo Carvalho de Melo [this message]
2023-10-18 14:12 ` Arnaldo Carvalho de Melo
2023-11-07 6:10 ` Ian Rogers
2023-11-07 6:10 ` Ian Rogers
2023-11-17 21:42 ` Ian Rogers
2023-11-17 21:42 ` Ian Rogers
2023-10-11 19:57 ` [PATCH v3 3/5] KVM: selftests: Generate " Oliver Upton
2023-10-11 19:57 ` Oliver Upton
2023-10-18 9:52 ` Eric Auger
2023-10-18 9:52 ` Eric Auger
2023-10-23 13:53 ` Nina Schoetterl-Glausch
2023-10-23 13:53 ` Nina Schoetterl-Glausch
2023-10-27 0:59 ` Oliver Upton
2023-10-27 0:59 ` Oliver Upton
2023-10-25 9:02 ` Aishwarya TCV
2023-10-25 9:02 ` Aishwarya TCV
2023-10-25 19:07 ` Oliver Upton
2023-10-25 19:07 ` Oliver Upton
2023-10-26 1:06 ` Aishwarya TCV
2023-10-26 1:06 ` Aishwarya TCV
2023-10-11 19:57 ` [PATCH v3 4/5] tools headers arm64: Update sysreg.h with kernel sources Oliver Upton
2023-10-11 19:57 ` Oliver Upton
2023-10-18 11:57 ` Eric Auger
2023-10-18 11:57 ` Eric Auger
2023-10-18 12:16 ` Mark Brown
2023-10-18 12:16 ` Mark Brown
2023-10-18 13:06 ` Eric Auger
2023-10-18 13:06 ` Eric Auger
2023-10-19 0:06 ` Oliver Upton
2023-10-19 0:06 ` Oliver Upton
2023-10-19 8:43 ` Eric Auger
2023-10-19 8:43 ` Eric Auger
2023-10-19 19:48 ` Oliver Upton
2023-10-19 19:48 ` Oliver Upton
2023-10-11 19:57 ` [PATCH v3 5/5] KVM: arm64: selftests: Test for setting ID register from usersapce Oliver Upton
2023-10-11 19:57 ` Oliver Upton
2023-10-16 15:30 ` Cornelia Huck
2023-10-16 15:30 ` Cornelia Huck
2023-10-17 8:03 ` Oliver Upton
2023-10-17 8:03 ` Oliver Upton
2023-10-18 12:35 ` Cornelia Huck
2023-10-18 12:35 ` Cornelia Huck
2023-10-19 8:38 ` Eric Auger
2023-10-19 8:38 ` Eric Auger
2024-01-05 9:07 ` Zenghui Yu
2024-01-05 9:07 ` Zenghui Yu
2024-01-08 22:40 ` Oliver Upton
2024-01-08 22:40 ` Oliver Upton
2024-01-09 1:31 ` Jing Zhang
2024-01-09 1:31 ` Jing Zhang
2024-01-09 15:36 ` Zenghui Yu
2024-01-09 15:36 ` Zenghui Yu
2024-01-09 16:23 ` Jing Zhang
2024-01-09 16:23 ` Jing Zhang
2024-01-09 7:50 ` Itaru Kitayama
2024-01-09 7:50 ` Itaru Kitayama
2023-10-18 13:44 ` [PATCH v3 0/5] KVM: selftests: Add ID reg test, update headers Marc Zyngier
2023-10-18 13:44 ` Marc Zyngier
2023-10-18 23:58 ` Oliver Upton
2023-10-18 23:58 ` Oliver Upton
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=ZS/n5dqo6dZE40HE@kernel.org \
--to=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=broonie@kernel.org \
--cc=irogers@google.com \
--cc=james.morse@arm.com \
--cc=jingzhangos@google.com \
--cc=jolsa@kernel.org \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=maz@kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=oliver.upton@linux.dev \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=suzuki.poulose@arm.com \
--cc=yuzenghui@huawei.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.