* [PATCH 1/1] perf beauty: Fix dependency of tables using uapi/linux/mount.h
@ 2024-03-11 20:54 Arnaldo Carvalho de Melo
2024-03-11 21:27 ` [PATCH 1/1] perf beauty: Move uapi/linux/fs.h copy out of the directory used to build perf Arnaldo Carvalho de Melo
0 siblings, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2024-03-11 20:54 UTC (permalink / raw)
To: Ian Rogers
Cc: Jiri Olsa, Adrian Hunter, Namhyung Kim, Linux Kernel Mailing List
Several such tables were depending on uapi/linux/fs.h, cut and paste
error when they were introduced, fix it.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Makefile.perf | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 04d89d2ed209b4dc..d3a568abc38919e8 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -499,19 +499,19 @@ $(fadvise_advice_array): $(linux_uapi_dir)/in.h $(fadvise_advice_tbl)
fsmount_arrays := $(beauty_outdir)/fsmount_arrays.c
fsmount_tbls := $(srctree)/tools/perf/trace/beauty/fsmount.sh
-$(fsmount_arrays): $(linux_uapi_dir)/fs.h $(fsmount_tbls)
+$(fsmount_arrays): $(linux_uapi_dir)/mount.h $(fsmount_tbls)
$(Q)$(SHELL) '$(fsmount_tbls)' $(linux_uapi_dir) > $@
fspick_arrays := $(beauty_outdir)/fspick_arrays.c
fspick_tbls := $(srctree)/tools/perf/trace/beauty/fspick.sh
-$(fspick_arrays): $(linux_uapi_dir)/fs.h $(fspick_tbls)
+$(fspick_arrays): $(linux_uapi_dir)/mount.h $(fspick_tbls)
$(Q)$(SHELL) '$(fspick_tbls)' $(linux_uapi_dir) > $@
fsconfig_arrays := $(beauty_outdir)/fsconfig_arrays.c
fsconfig_tbls := $(srctree)/tools/perf/trace/beauty/fsconfig.sh
-$(fsconfig_arrays): $(linux_uapi_dir)/fs.h $(fsconfig_tbls)
+$(fsconfig_arrays): $(linux_uapi_dir)/mount.h $(fsconfig_tbls)
$(Q)$(SHELL) '$(fsconfig_tbls)' $(linux_uapi_dir) > $@
pkey_alloc_access_rights_array := $(beauty_outdir)/pkey_alloc_access_rights_array.c
@@ -597,13 +597,13 @@ $(mremap_flags_array): $(linux_uapi_dir)/mman.h $(mremap_flags_tbl)
mount_flags_array := $(beauty_outdir)/mount_flags_array.c
mount_flags_tbl := $(srctree)/tools/perf/trace/beauty/mount_flags.sh
-$(mount_flags_array): $(linux_uapi_dir)/fs.h $(mount_flags_tbl)
+$(mount_flags_array): $(linux_uapi_dir)/mount.h $(mount_flags_tbl)
$(Q)$(SHELL) '$(mount_flags_tbl)' $(linux_uapi_dir) > $@
move_mount_flags_array := $(beauty_outdir)/move_mount_flags_array.c
move_mount_flags_tbl := $(srctree)/tools/perf/trace/beauty/move_mount_flags.sh
-$(move_mount_flags_array): $(linux_uapi_dir)/fs.h $(move_mount_flags_tbl)
+$(move_mount_flags_array): $(linux_uapi_dir)/mount.h $(move_mount_flags_tbl)
$(Q)$(SHELL) '$(move_mount_flags_tbl)' $(linux_uapi_dir) > $@
--
2.44.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 1/1] perf beauty: Move uapi/linux/fs.h copy out of the directory used to build perf
2024-03-11 20:54 [PATCH 1/1] perf beauty: Fix dependency of tables using uapi/linux/mount.h Arnaldo Carvalho de Melo
@ 2024-03-11 21:27 ` Arnaldo Carvalho de Melo
2024-03-12 15:42 ` Ian Rogers
0 siblings, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2024-03-11 21:27 UTC (permalink / raw)
To: Ian Rogers
Cc: Adrian Hunter, Jiri Olsa, Namhyung Kim, Linux Kernel Mailing List
It is mostly used only to generate string tables, not to build perf, so
move it to the tools/perf/trace/beauty/include/ hierarchy, that is used
just for scrapping.
The only case where it was being used to build was in
tools/perf/trace/beauty/sync_file_range.c, because some older systems
doesn't have the SYNC_FILE_RANGE_WRITE_AND_WAIT define, just use the
system's linux/fs.h header instead, defining it if not available.
This is something that should've have been done already, as happened
with the linux/socket.h scrapper, do it now as Ian suggested while doing
an audit/refactor session in the headers used by perf.
No other tools/ living code uses it, just <linux/fs.h> coming from
either 'make install_headers' or from the system /usr/include/
directory.
Suggested-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/lkml/CAP-5=fWZVrpRufO4w-S4EcSi9STXcTAN2ERLwTSN7yrSSA-otQ@mail.gmail.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/Makefile.perf | 9 +++++----
| 2 +-
tools/{ => perf/trace/beauty}/include/uapi/linux/fs.h | 0
tools/perf/trace/beauty/rename_flags.sh | 2 +-
tools/perf/trace/beauty/sync_file_range.c | 11 ++++++++++-
tools/perf/trace/beauty/sync_file_range.sh | 2 +-
6 files changed, 18 insertions(+), 8 deletions(-)
rename tools/{ => perf/trace/beauty}/include/uapi/linux/fs.h (100%)
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index d3a568abc38919e8..643e9fa6ec89c58c 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -472,6 +472,7 @@ arm64-sysreg-defs-clean:
clean > /dev/null
beauty_linux_dir := $(srctree)/tools/perf/trace/beauty/include/linux/
+beauty_uapi_linux_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/linux/
linux_uapi_dir := $(srctree)/tools/include/uapi/linux
asm_generic_uapi_dir := $(srctree)/tools/include/uapi/asm-generic
arch_asm_uapi_dir := $(srctree)/tools/arch/$(SRCARCH)/include/uapi/asm/
@@ -647,8 +648,8 @@ $(x86_arch_MSRs_array): $(x86_arch_asm_dir)/msr-index.h $(x86_arch_MSRs_tbl)
rename_flags_array := $(beauty_outdir)/rename_flags_array.c
rename_flags_tbl := $(srctree)/tools/perf/trace/beauty/rename_flags.sh
-$(rename_flags_array): $(linux_uapi_dir)/fs.h $(rename_flags_tbl)
- $(Q)$(SHELL) '$(rename_flags_tbl)' $(linux_uapi_dir) > $@
+$(rename_flags_array): $(beauty_uapi_linux_dir)/fs.h $(rename_flags_tbl)
+ $(Q)$(SHELL) '$(rename_flags_tbl)' $(beauty_uapi_linux_dir) > $@
arch_errno_name_array := $(beauty_outdir)/arch_errno_name_array.c
arch_errno_hdr_dir := $(srctree)/tools
@@ -660,8 +661,8 @@ $(arch_errno_name_array): $(arch_errno_tbl)
sync_file_range_arrays := $(beauty_outdir)/sync_file_range_arrays.c
sync_file_range_tbls := $(srctree)/tools/perf/trace/beauty/sync_file_range.sh
-$(sync_file_range_arrays): $(linux_uapi_dir)/fs.h $(sync_file_range_tbls)
- $(Q)$(SHELL) '$(sync_file_range_tbls)' $(linux_uapi_dir) > $@
+$(sync_file_range_arrays): $(beauty_uapi_linux_dir)/fs.h $(sync_file_range_tbls)
+ $(Q)$(SHELL) '$(sync_file_range_tbls)' $(beauty_uapi_linux_dir) > $@
TESTS_CORESIGHT_DIR := $(srctree)/tools/perf/tests/shell/coresight
--git a/tools/perf/check-headers.sh b/tools/perf/check-headers.sh
index 66ba33dbcef22b23..015f74137b755eaf 100755
--- a/tools/perf/check-headers.sh
+++ b/tools/perf/check-headers.sh
@@ -11,7 +11,6 @@ FILES=(
"include/uapi/drm/i915_drm.h"
"include/uapi/linux/fadvise.h"
"include/uapi/linux/fcntl.h"
- "include/uapi/linux/fs.h"
"include/uapi/linux/fscrypt.h"
"include/uapi/linux/kcmp.h"
"include/uapi/linux/kvm.h"
@@ -98,6 +97,7 @@ SYNC_CHECK_FILES=(
declare -a BEAUTY_FILES
BEAUTY_FILES=(
"include/linux/socket.h"
+ "include/uapi/linux/fs.h"
)
declare -a FAILURES
diff --git a/tools/include/uapi/linux/fs.h b/tools/perf/trace/beauty/include/uapi/linux/fs.h
similarity index 100%
rename from tools/include/uapi/linux/fs.h
rename to tools/perf/trace/beauty/include/uapi/linux/fs.h
diff --git a/tools/perf/trace/beauty/rename_flags.sh b/tools/perf/trace/beauty/rename_flags.sh
index 94bf7f45d28e6be6..702411dd7a1c2fc2 100755
--- a/tools/perf/trace/beauty/rename_flags.sh
+++ b/tools/perf/trace/beauty/rename_flags.sh
@@ -2,7 +2,7 @@
# Copyright (C) 2018, Red Hat Inc, Arnaldo Carvalho de Melo <acme@redhat.com>
# SPDX-License-Identifier: LGPL-2.1
-[ $# -eq 1 ] && header_dir=$1 || header_dir=tools/include/uapi/linux/
+[ $# -eq 1 ] && header_dir=$1 || header_dir=tools/perf/trace/beauty/include/uapi/linux/
fs_header=${header_dir}/fs.h
diff --git a/tools/perf/trace/beauty/sync_file_range.c b/tools/perf/trace/beauty/sync_file_range.c
index 1c425f04047dbb24..3e8f50ff4fc701f9 100644
--- a/tools/perf/trace/beauty/sync_file_range.c
+++ b/tools/perf/trace/beauty/sync_file_range.c
@@ -7,7 +7,16 @@
#include "trace/beauty/beauty.h"
#include <linux/log2.h>
-#include <uapi/linux/fs.h>
+#include <linux/fs.h>
+
+#ifndef SYNC_FILE_RANGE_WRITE_AND_WAIT
+#define SYNC_FILE_RANGE_WAIT_BEFORE 1
+#define SYNC_FILE_RANGE_WRITE 2
+#define SYNC_FILE_RANGE_WAIT_AFTER 4
+#define SYNC_FILE_RANGE_WRITE_AND_WAIT (SYNC_FILE_RANGE_WRITE | \
+ SYNC_FILE_RANGE_WAIT_BEFORE | \
+ SYNC_FILE_RANGE_WAIT_AFTER)
+#endif
static size_t sync_file_range__scnprintf_flags(unsigned long flags, char *bf, size_t size, bool show_prefix)
{
diff --git a/tools/perf/trace/beauty/sync_file_range.sh b/tools/perf/trace/beauty/sync_file_range.sh
index 90bf633be879909a..b1084c4cab636b52 100755
--- a/tools/perf/trace/beauty/sync_file_range.sh
+++ b/tools/perf/trace/beauty/sync_file_range.sh
@@ -2,7 +2,7 @@
# SPDX-License-Identifier: LGPL-2.1
if [ $# -ne 1 ] ; then
- linux_header_dir=tools/include/uapi/linux
+ linux_header_dir=tools/perf/trace/beauty/include/uapi/linux/
else
linux_header_dir=$1
fi
--
2.44.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] perf beauty: Move uapi/linux/fs.h copy out of the directory used to build perf
2024-03-11 21:27 ` [PATCH 1/1] perf beauty: Move uapi/linux/fs.h copy out of the directory used to build perf Arnaldo Carvalho de Melo
@ 2024-03-12 15:42 ` Ian Rogers
2024-03-12 16:47 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 4+ messages in thread
From: Ian Rogers @ 2024-03-12 15:42 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo
Cc: Adrian Hunter, Jiri Olsa, Namhyung Kim, Linux Kernel Mailing List
On Mon, Mar 11, 2024 at 2:27 PM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> It is mostly used only to generate string tables, not to build perf, so
> move it to the tools/perf/trace/beauty/include/ hierarchy, that is used
> just for scrapping.
>
> The only case where it was being used to build was in
> tools/perf/trace/beauty/sync_file_range.c, because some older systems
> doesn't have the SYNC_FILE_RANGE_WRITE_AND_WAIT define, just use the
> system's linux/fs.h header instead, defining it if not available.
>
> This is something that should've have been done already, as happened
> with the linux/socket.h scrapper, do it now as Ian suggested while doing
> an audit/refactor session in the headers used by perf.
>
> No other tools/ living code uses it, just <linux/fs.h> coming from
> either 'make install_headers' or from the system /usr/include/
> directory.
>
> Suggested-by: Ian Rogers <irogers@google.com>
> Cc: Adrian Hunter <adrian.hunter@intel.com>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Link: https://lore.kernel.org/lkml/CAP-5=fWZVrpRufO4w-S4EcSi9STXcTAN2ERLwTSN7yrSSA-otQ@mail.gmail.com
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Reviewed-by: Ian Rogers <irogers@google.com>
Thanks,
Ian
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] perf beauty: Move uapi/linux/fs.h copy out of the directory used to build perf
2024-03-12 15:42 ` Ian Rogers
@ 2024-03-12 16:47 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2024-03-12 16:47 UTC (permalink / raw)
To: Ian Rogers
Cc: Adrian Hunter, Jiri Olsa, Namhyung Kim, Linux Kernel Mailing List
On Tue, Mar 12, 2024 at 08:42:36AM -0700, Ian Rogers wrote:
> On Mon, Mar 11, 2024 at 2:27 PM Arnaldo Carvalho de Melo
> <acme@kernel.org> wrote:
> >
> > It is mostly used only to generate string tables, not to build perf, so
> > move it to the tools/perf/trace/beauty/include/ hierarchy, that is used
> > just for scrapping.
> >
> > The only case where it was being used to build was in
> > tools/perf/trace/beauty/sync_file_range.c, because some older systems
> > doesn't have the SYNC_FILE_RANGE_WRITE_AND_WAIT define, just use the
> > system's linux/fs.h header instead, defining it if not available.
> >
> > This is something that should've have been done already, as happened
> > with the linux/socket.h scrapper, do it now as Ian suggested while doing
> > an audit/refactor session in the headers used by perf.
> >
> > No other tools/ living code uses it, just <linux/fs.h> coming from
> > either 'make install_headers' or from the system /usr/include/
> > directory.
> >
> > Suggested-by: Ian Rogers <irogers@google.com>
> > Cc: Adrian Hunter <adrian.hunter@intel.com>
> > Cc: Jiri Olsa <jolsa@kernel.org>
> > Cc: Namhyung Kim <namhyung@kernel.org>
> > Link: https://lore.kernel.org/lkml/CAP-5=fWZVrpRufO4w-S4EcSi9STXcTAN2ERLwTSN7yrSSA-otQ@mail.gmail.com
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> Reviewed-by: Ian Rogers <irogers@google.com>
Thanks!
- Arnaldo
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-03-12 16:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-11 20:54 [PATCH 1/1] perf beauty: Fix dependency of tables using uapi/linux/mount.h Arnaldo Carvalho de Melo
2024-03-11 21:27 ` [PATCH 1/1] perf beauty: Move uapi/linux/fs.h copy out of the directory used to build perf Arnaldo Carvalho de Melo
2024-03-12 15:42 ` Ian Rogers
2024-03-12 16:47 ` Arnaldo Carvalho de Melo
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.