Just FYI, this is the merge commit solving this conflict.
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
commit 86c8774ce08b931debdaa3f61f5a033639c183ca
Merge: f8d0db39bcc536ef 758c807bb943138f
Merge remote-tracking branch 'torvalds/master' into perf-tools-next
Fixup clash of:
552636b9317c8a84 ("perf trace: Add beautifier script for fsmount flags")
That went via Namhyung upstream and the following ones in the
perf-tools-next tree:
32969ef6e3e1979a ("perf build: Pre-generate BPF skeleton tooling during umbrella prepare phase")
537609924c43715e ("perf trace beauty: Make beauty generated C code standalone .o files")
This complements sent by Ian Rogers.
Cc: Ian Rogers <irogers@google.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Thorsten Leemhuis <linux@leemhuis.info>
Fixes: f8d0db39bcc536ef ("perf build: Fix fsmount.o build")
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
diff --cc tools/perf/Makefile.perf
index fc92d6ceac5b0c98,76b35ac19acbfb20..4ac2a0cec9ee22a2
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@@ -509,7 -508,232 +508,6 @@@ arm64-sysreg-defs-clean
$(Q)$(MAKE) -C $(arm64_gen_sysreg_dir) O=$(arm64_gen_sysreg_outdir) \
prefix= subdir= 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/
-beauty_uapi_sound_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/sound/
-beauty_arch_asm_dir := $(srctree)/tools/perf/trace/beauty/arch/x86/include/asm/
-beauty_x86_arch_asm_uapi_dir := $(srctree)/tools/perf/trace/beauty/arch/x86/include/uapi/asm/
-
-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/
-x86_arch_asm_dir := $(srctree)/tools/arch/x86/include/asm/
-
-beauty_outdir := $(OUTPUT)trace/beauty/generated
-beauty_ioctl_outdir := $(beauty_outdir)/ioctl
-
-# Create output directory if not already present
-$(shell [ -d '$(beauty_ioctl_outdir)' ] || mkdir -p '$(beauty_ioctl_outdir)')
-
-syscall_array := $(beauty_outdir)/syscalltbl.c
-syscall_tbl := $(srctree)/tools/perf/trace/beauty/syscalltbl.sh
-syscall_tbl_data := $(srctree)/tools/scripts/syscall.tbl \
- $(wildcard $(srctree)/tools/perf/arch/*/entry/syscalls/syscall*.tbl)
-
-$(syscall_array): $(syscall_tbl) $(syscall_tbl_data)
- $(Q)$(SHELL) '$(syscall_tbl)' $(srctree)/tools $@
-
-fs_at_flags_array := $(beauty_outdir)/fs_at_flags_array.c
-fs_at_flags_tbl := $(srctree)/tools/perf/trace/beauty/fs_at_flags.sh
-
-$(fs_at_flags_array): $(beauty_uapi_linux_dir)/fcntl.h $(fs_at_flags_tbl)
- $(Q)$(SHELL) '$(fs_at_flags_tbl)' $(beauty_uapi_linux_dir) > $@
-
-clone_flags_array := $(beauty_outdir)/clone_flags_array.c
-clone_flags_tbl := $(srctree)/tools/perf/trace/beauty/clone.sh
-
-$(clone_flags_array): $(beauty_uapi_linux_dir)/sched.h $(clone_flags_tbl)
- $(Q)$(SHELL) '$(clone_flags_tbl)' $(beauty_uapi_linux_dir) > $@
-
-drm_ioctl_array := $(beauty_ioctl_outdir)/drm_ioctl_array.c
-drm_hdr_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/drm
-drm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/drm_ioctl.sh
-
-$(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) > $@
-
-fadvise_advice_array := $(beauty_outdir)/fadvise_advice_array.c
-fadvise_advice_tbl := $(srctree)/tools/perf/trace/beauty/fadvise.sh
-
-$(fadvise_advice_array): $(beauty_uapi_linux_dir)/fadvise.h $(fadvise_advice_tbl)
- $(Q)$(SHELL) '$(fadvise_advice_tbl)' $(beauty_uapi_linux_dir) > $@
-
-fsmount_arrays := $(beauty_outdir)/fsmount_arrays.c
-fsmount_tbls := $(srctree)/tools/perf/trace/beauty/fsmount.sh
-
-$(fsmount_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsmount_tbls)
- $(Q)$(SHELL) '$(fsmount_tbls)' $(beauty_uapi_linux_dir) > $@
-
-fsmount_attr_arrays := $(beauty_outdir)/fsmount_attr_arrays.c
-fsmount_attr_tbls := $(srctree)/tools/perf/trace/beauty/fsmount_attr.sh
-
-$(fsmount_attr_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsmount_attr_tbls)
- $(Q)$(SHELL) '$(fsmount_attr_tbls)' $(beauty_uapi_linux_dir) > $@
-
-fspick_arrays := $(beauty_outdir)/fspick_arrays.c
-fspick_tbls := $(srctree)/tools/perf/trace/beauty/fspick.sh
-
-$(fspick_arrays): $(beauty_uapi_linux_dir)/mount.h $(fspick_tbls)
- $(Q)$(SHELL) '$(fspick_tbls)' $(beauty_uapi_linux_dir) > $@
-
-fsconfig_arrays := $(beauty_outdir)/fsconfig_arrays.c
-fsconfig_tbls := $(srctree)/tools/perf/trace/beauty/fsconfig.sh
-
-$(fsconfig_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsconfig_tbls)
- $(Q)$(SHELL) '$(fsconfig_tbls)' $(beauty_uapi_linux_dir) > $@
-
-pkey_alloc_access_rights_array := $(beauty_outdir)/pkey_alloc_access_rights_array.c
-asm_generic_hdr_dir := $(srctree)/tools/include/uapi/asm-generic/
-pkey_alloc_access_rights_tbl := $(srctree)/tools/perf/trace/beauty/pkey_alloc_access_rights.sh
-
-$(pkey_alloc_access_rights_array): $(asm_generic_hdr_dir)/mman-common.h $(pkey_alloc_access_rights_tbl)
- $(Q)$(SHELL) '$(pkey_alloc_access_rights_tbl)' $(asm_generic_hdr_dir) > $@
-
-sndrv_ctl_ioctl_array := $(beauty_ioctl_outdir)/sndrv_ctl_ioctl_array.c
-sndrv_ctl_hdr_dir := $(srctree)/tools/include/uapi/sound
-sndrv_ctl_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/sndrv_ctl_ioctl.sh
-
-$(sndrv_ctl_ioctl_array): $(beauty_uapi_sound_dir)/asound.h $(sndrv_ctl_ioctl_tbl)
- $(Q)$(SHELL) '$(sndrv_ctl_ioctl_tbl)' $(beauty_uapi_sound_dir) > $@
-
-sndrv_pcm_ioctl_array := $(beauty_ioctl_outdir)/sndrv_pcm_ioctl_array.c
-sndrv_pcm_hdr_dir := $(srctree)/tools/include/uapi/sound
-sndrv_pcm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/sndrv_pcm_ioctl.sh
-
-$(sndrv_pcm_ioctl_array): $(beauty_uapi_sound_dir)/asound.h $(sndrv_pcm_ioctl_tbl)
- $(Q)$(SHELL) '$(sndrv_pcm_ioctl_tbl)' $(beauty_uapi_sound_dir) > $@
-
-kcmp_type_array := $(beauty_outdir)/kcmp_type_array.c
-kcmp_hdr_dir := $(srctree)/tools/include/uapi/linux/
-kcmp_type_tbl := $(srctree)/tools/perf/trace/beauty/kcmp_type.sh
-
-$(kcmp_type_array): $(kcmp_hdr_dir)/kcmp.h $(kcmp_type_tbl)
- $(Q)$(SHELL) '$(kcmp_type_tbl)' $(kcmp_hdr_dir) > $@
-
-kvm_ioctl_array := $(beauty_ioctl_outdir)/kvm_ioctl_array.c
-kvm_hdr_dir := $(srctree)/tools/include/uapi/linux
-kvm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/kvm_ioctl.sh
-
-$(kvm_ioctl_array): $(kvm_hdr_dir)/kvm.h $(kvm_ioctl_tbl)
- $(Q)$(SHELL) '$(kvm_ioctl_tbl)' $(kvm_hdr_dir) > $@
-
-socket_arrays := $(beauty_outdir)/socket.c
-socket_tbl := $(srctree)/tools/perf/trace/beauty/socket.sh
-
-$(socket_arrays): $(linux_uapi_dir)/in.h $(beauty_linux_dir)/socket.h $(socket_tbl)
- $(Q)$(SHELL) '$(socket_tbl)' $(linux_uapi_dir) $(beauty_linux_dir) > $@
-
-sockaddr_arrays := $(beauty_outdir)/sockaddr.c
-sockaddr_tbl := $(srctree)/tools/perf/trace/beauty/sockaddr.sh
-
-$(sockaddr_arrays): $(beauty_linux_dir)/socket.h $(sockaddr_tbl)
- $(Q)$(SHELL) '$(sockaddr_tbl)' $(beauty_linux_dir) > $@
-
-vhost_virtio_ioctl_array := $(beauty_ioctl_outdir)/vhost_virtio_ioctl_array.c
-vhost_virtio_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/vhost_virtio_ioctl.sh
-
-$(vhost_virtio_ioctl_array): $(beauty_uapi_linux_dir)/vhost.h $(vhost_virtio_ioctl_tbl)
- $(Q)$(SHELL) '$(vhost_virtio_ioctl_tbl)' $(beauty_uapi_linux_dir) > $@
-
-perf_ioctl_array := $(beauty_ioctl_outdir)/perf_ioctl_array.c
-perf_hdr_dir := $(srctree)/tools/include/uapi/linux
-perf_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/perf_ioctl.sh
-
-$(perf_ioctl_array): $(perf_hdr_dir)/perf_event.h $(perf_ioctl_tbl)
- $(Q)$(SHELL) '$(perf_ioctl_tbl)' $(perf_hdr_dir) > $@
-
-madvise_behavior_array := $(beauty_outdir)/madvise_behavior_array.c
-madvise_hdr_dir := $(srctree)/tools/include/uapi/asm-generic/
-madvise_behavior_tbl := $(srctree)/tools/perf/trace/beauty/madvise_behavior.sh
-
-$(madvise_behavior_array): $(madvise_hdr_dir)/mman-common.h $(madvise_behavior_tbl)
- $(Q)$(SHELL) '$(madvise_behavior_tbl)' $(madvise_hdr_dir) > $@
-
-mmap_flags_array := $(beauty_outdir)/mmap_flags_array.c
-mmap_flags_tbl := $(srctree)/tools/perf/trace/beauty/mmap_flags.sh
-
-$(mmap_flags_array): $(linux_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman-common.h $(mmap_flags_tbl)
- $(Q)$(SHELL) '$(mmap_flags_tbl)' $(linux_uapi_dir) $(asm_generic_uapi_dir) $(arch_asm_uapi_dir) > $@
-
-mremap_flags_array := $(beauty_outdir)/mremap_flags_array.c
-mremap_flags_tbl := $(srctree)/tools/perf/trace/beauty/mremap_flags.sh
-
-$(mremap_flags_array): $(linux_uapi_dir)/mman.h $(mremap_flags_tbl)
- $(Q)$(SHELL) '$(mremap_flags_tbl)' $(linux_uapi_dir) > $@
-
-mount_flags_array := $(beauty_outdir)/mount_flags_array.c
-mount_flags_tbl := $(srctree)/tools/perf/trace/beauty/mount_flags.sh
-
-$(mount_flags_array): $(beauty_uapi_linux_dir)/mount.h $(mount_flags_tbl)
- $(Q)$(SHELL) '$(mount_flags_tbl)' $(beauty_uapi_linux_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): $(beauty_uapi_linux_dir)/mount.h $(move_mount_flags_tbl)
- $(Q)$(SHELL) '$(move_mount_flags_tbl)' $(beauty_uapi_linux_dir) > $@
-
-mmap_prot_array := $(beauty_outdir)/mmap_prot_array.c
-mmap_prot_tbl := $(srctree)/tools/perf/trace/beauty/mmap_prot.sh
-
-$(mmap_prot_array): $(asm_generic_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman-common.h $(mmap_prot_tbl)
- $(Q)$(SHELL) '$(mmap_prot_tbl)' $(asm_generic_uapi_dir) $(arch_asm_uapi_dir) > $@
-
-prctl_option_array := $(beauty_outdir)/prctl_option_array.c
-prctl_option_tbl := $(srctree)/tools/perf/trace/beauty/prctl_option.sh
-
-$(prctl_option_array): $(beauty_uapi_linux_dir)/prctl.h $(prctl_option_tbl)
- $(Q)$(SHELL) '$(prctl_option_tbl)' $(beauty_uapi_linux_dir) > $@
-
-usbdevfs_ioctl_array := $(beauty_ioctl_outdir)/usbdevfs_ioctl_array.c
-usbdevfs_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/usbdevfs_ioctl.sh
-
-$(usbdevfs_ioctl_array): $(beauty_uapi_linux_dir)/usbdevice_fs.h $(usbdevfs_ioctl_tbl)
- $(Q)$(SHELL) '$(usbdevfs_ioctl_tbl)' $(beauty_uapi_linux_dir) > $@
-
-x86_arch_prctl_code_array := $(beauty_outdir)/x86_arch_prctl_code_array.c
-x86_arch_prctl_code_tbl := $(srctree)/tools/perf/trace/beauty/x86_arch_prctl.sh
-
-$(x86_arch_prctl_code_array): $(beauty_x86_arch_asm_uapi_dir)/prctl.h $(x86_arch_prctl_code_tbl)
- $(Q)$(SHELL) '$(x86_arch_prctl_code_tbl)' $(beauty_x86_arch_asm_uapi_dir) > $@
-
-x86_arch_irq_vectors_array := $(beauty_outdir)/x86_arch_irq_vectors_array.c
-x86_arch_irq_vectors_tbl := $(srctree)/tools/perf/trace/beauty/tracepoints/x86_irq_vectors.sh
-
-$(x86_arch_irq_vectors_array): $(beauty_arch_asm_dir)/irq_vectors.h $(x86_arch_irq_vectors_tbl)
- $(Q)$(SHELL) '$(x86_arch_irq_vectors_tbl)' $(beauty_arch_asm_dir) > $@
-
-x86_arch_MSRs_array := $(beauty_outdir)/x86_arch_MSRs_array.c
-x86_arch_MSRs_tbl := $(srctree)/tools/perf/trace/beauty/tracepoints/x86_msr.sh
-
-$(x86_arch_MSRs_array): $(x86_arch_asm_dir)/msr-index.h $(x86_arch_MSRs_tbl)
- $(Q)$(SHELL) '$(x86_arch_MSRs_tbl)' $(x86_arch_asm_dir) > $@
-
-rename_flags_array := $(beauty_outdir)/rename_flags_array.c
-rename_flags_tbl := $(srctree)/tools/perf/trace/beauty/rename_flags.sh
-
-$(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
-arch_errno_tbl := $(srctree)/tools/perf/trace/beauty/arch_errno_names.sh
-
-$(arch_errno_name_array): $(arch_errno_tbl)
- $(Q)$(SHELL) '$(arch_errno_tbl)' '$(patsubst -%,,$(CC))' $(arch_errno_hdr_dir) > $@
-
-statx_mask_array := $(beauty_outdir)/statx_mask_array.c
-statx_mask_tbl := $(srctree)/tools/perf/trace/beauty/statx_mask.sh
-
-$(statx_mask_array): $(beauty_uapi_linux_dir)/stat.h $(statx_mask_tbl)
- $(Q)$(SHELL) '$(statx_mask_tbl)' $(beauty_uapi_linux_dir) > $@
-
-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): $(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
tests-coresight-targets: FORCE
diff --cc tools/perf/builtin-trace.c
index 0730c1d9f0b3adc7,48615ddccd93a1e8..2530b4035e4f57e1
--- a/tools/perf/builtin-trace.c
+++ b/tools/perf/builtin-trace.c
@@@ -783,11 -771,10 +783,6 @@@ static const char *bpf_cmd[] =
};
static DEFINE_STRARRAY(bpf_cmd, "BPF_");
- static const char *fsmount_flags[] = {
- [1] = "CLOEXEC",
- };
- static DEFINE_STRARRAY(fsmount_flags, "FSMOUNT_");
-#include "trace/beauty/generated/fsconfig_arrays.c"
-
-static DEFINE_STRARRAY(fsconfig_cmds, "FSCONFIG_");
--
static const char *epoll_ctl_ops[] = { "ADD", "DEL", "MOD", };
static DEFINE_STRARRAY_OFFSET(epoll_ctl_ops, "EPOLL_CTL_", 1);
On Thu, May 21, 2026 at 02:09:14PM -0300, Arnaldo Carvalho de Melo wrote:
> Just FYI, this is the merge commit solving this conflict.
Ian,
Please take a look at tmp.perf-tools-next, it has this all
hopefully solved, I'm running the container builds, so far so good:
toolsbuilder@five:~$ export PATH=~/git/linux-tools-container-builds/bin/:$PATH
toolsbuilder@five:~$ export BUILD_TARBALL=http://192.168.86.5/perf/perf-7.1.0-rc4.tar.xz
toolsbuilder@five:~$ time dm
1 128.07 almalinux:8 : Ok gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-28), clang version 21.1.8 ( 21.1.8-1.module_el8.10.0+4172+b6b13d75) flex 2.6.1
2 107.40 almalinux:9 : Ok gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-11), clang version 20.1.8 (AlmaLinux OS Foundation 20.1.8-3.el9) flex 2.6.4
3 141.36 almalinux:9-i386: Ok gcc (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3), clang version 17.0.6 (AlmaLinux OS Foundation 17.0.6-5.el9) flex 2.6.4
- Arnaldo
> Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> commit 86c8774ce08b931debdaa3f61f5a033639c183ca
> Merge: f8d0db39bcc536ef 758c807bb943138f
> Merge remote-tracking branch 'torvalds/master' into perf-tools-next
>
> Fixup clash of:
>
> 552636b9317c8a84 ("perf trace: Add beautifier script for fsmount flags")
>
> That went via Namhyung upstream and the following ones in the
> perf-tools-next tree:
>
> 32969ef6e3e1979a ("perf build: Pre-generate BPF skeleton tooling during umbrella prepare phase")
> 537609924c43715e ("perf trace beauty: Make beauty generated C code standalone .o files")
>
> This complements sent by Ian Rogers.
>
> Cc: Ian Rogers <irogers@google.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Thorsten Leemhuis <linux@leemhuis.info>
> Fixes: f8d0db39bcc536ef ("perf build: Fix fsmount.o build")
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> diff --cc tools/perf/Makefile.perf
> index fc92d6ceac5b0c98,76b35ac19acbfb20..4ac2a0cec9ee22a2
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@@ -509,7 -508,232 +508,6 @@@ arm64-sysreg-defs-clean
> $(Q)$(MAKE) -C $(arm64_gen_sysreg_dir) O=$(arm64_gen_sysreg_outdir) \
> prefix= subdir= 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/
> -beauty_uapi_sound_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/sound/
> -beauty_arch_asm_dir := $(srctree)/tools/perf/trace/beauty/arch/x86/include/asm/
> -beauty_x86_arch_asm_uapi_dir := $(srctree)/tools/perf/trace/beauty/arch/x86/include/uapi/asm/
> -
> -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/
> -x86_arch_asm_dir := $(srctree)/tools/arch/x86/include/asm/
> -
> -beauty_outdir := $(OUTPUT)trace/beauty/generated
> -beauty_ioctl_outdir := $(beauty_outdir)/ioctl
> -
> -# Create output directory if not already present
> -$(shell [ -d '$(beauty_ioctl_outdir)' ] || mkdir -p '$(beauty_ioctl_outdir)')
> -
> -syscall_array := $(beauty_outdir)/syscalltbl.c
> -syscall_tbl := $(srctree)/tools/perf/trace/beauty/syscalltbl.sh
> -syscall_tbl_data := $(srctree)/tools/scripts/syscall.tbl \
> - $(wildcard $(srctree)/tools/perf/arch/*/entry/syscalls/syscall*.tbl)
> -
> -$(syscall_array): $(syscall_tbl) $(syscall_tbl_data)
> - $(Q)$(SHELL) '$(syscall_tbl)' $(srctree)/tools $@
> -
> -fs_at_flags_array := $(beauty_outdir)/fs_at_flags_array.c
> -fs_at_flags_tbl := $(srctree)/tools/perf/trace/beauty/fs_at_flags.sh
> -
> -$(fs_at_flags_array): $(beauty_uapi_linux_dir)/fcntl.h $(fs_at_flags_tbl)
> - $(Q)$(SHELL) '$(fs_at_flags_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -clone_flags_array := $(beauty_outdir)/clone_flags_array.c
> -clone_flags_tbl := $(srctree)/tools/perf/trace/beauty/clone.sh
> -
> -$(clone_flags_array): $(beauty_uapi_linux_dir)/sched.h $(clone_flags_tbl)
> - $(Q)$(SHELL) '$(clone_flags_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -drm_ioctl_array := $(beauty_ioctl_outdir)/drm_ioctl_array.c
> -drm_hdr_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/drm
> -drm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/drm_ioctl.sh
> -
> -$(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) > $@
> -
> -fadvise_advice_array := $(beauty_outdir)/fadvise_advice_array.c
> -fadvise_advice_tbl := $(srctree)/tools/perf/trace/beauty/fadvise.sh
> -
> -$(fadvise_advice_array): $(beauty_uapi_linux_dir)/fadvise.h $(fadvise_advice_tbl)
> - $(Q)$(SHELL) '$(fadvise_advice_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -fsmount_arrays := $(beauty_outdir)/fsmount_arrays.c
> -fsmount_tbls := $(srctree)/tools/perf/trace/beauty/fsmount.sh
> -
> -$(fsmount_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsmount_tbls)
> - $(Q)$(SHELL) '$(fsmount_tbls)' $(beauty_uapi_linux_dir) > $@
> -
> -fsmount_attr_arrays := $(beauty_outdir)/fsmount_attr_arrays.c
> -fsmount_attr_tbls := $(srctree)/tools/perf/trace/beauty/fsmount_attr.sh
> -
> -$(fsmount_attr_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsmount_attr_tbls)
> - $(Q)$(SHELL) '$(fsmount_attr_tbls)' $(beauty_uapi_linux_dir) > $@
> -
> -fspick_arrays := $(beauty_outdir)/fspick_arrays.c
> -fspick_tbls := $(srctree)/tools/perf/trace/beauty/fspick.sh
> -
> -$(fspick_arrays): $(beauty_uapi_linux_dir)/mount.h $(fspick_tbls)
> - $(Q)$(SHELL) '$(fspick_tbls)' $(beauty_uapi_linux_dir) > $@
> -
> -fsconfig_arrays := $(beauty_outdir)/fsconfig_arrays.c
> -fsconfig_tbls := $(srctree)/tools/perf/trace/beauty/fsconfig.sh
> -
> -$(fsconfig_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsconfig_tbls)
> - $(Q)$(SHELL) '$(fsconfig_tbls)' $(beauty_uapi_linux_dir) > $@
> -
> -pkey_alloc_access_rights_array := $(beauty_outdir)/pkey_alloc_access_rights_array.c
> -asm_generic_hdr_dir := $(srctree)/tools/include/uapi/asm-generic/
> -pkey_alloc_access_rights_tbl := $(srctree)/tools/perf/trace/beauty/pkey_alloc_access_rights.sh
> -
> -$(pkey_alloc_access_rights_array): $(asm_generic_hdr_dir)/mman-common.h $(pkey_alloc_access_rights_tbl)
> - $(Q)$(SHELL) '$(pkey_alloc_access_rights_tbl)' $(asm_generic_hdr_dir) > $@
> -
> -sndrv_ctl_ioctl_array := $(beauty_ioctl_outdir)/sndrv_ctl_ioctl_array.c
> -sndrv_ctl_hdr_dir := $(srctree)/tools/include/uapi/sound
> -sndrv_ctl_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/sndrv_ctl_ioctl.sh
> -
> -$(sndrv_ctl_ioctl_array): $(beauty_uapi_sound_dir)/asound.h $(sndrv_ctl_ioctl_tbl)
> - $(Q)$(SHELL) '$(sndrv_ctl_ioctl_tbl)' $(beauty_uapi_sound_dir) > $@
> -
> -sndrv_pcm_ioctl_array := $(beauty_ioctl_outdir)/sndrv_pcm_ioctl_array.c
> -sndrv_pcm_hdr_dir := $(srctree)/tools/include/uapi/sound
> -sndrv_pcm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/sndrv_pcm_ioctl.sh
> -
> -$(sndrv_pcm_ioctl_array): $(beauty_uapi_sound_dir)/asound.h $(sndrv_pcm_ioctl_tbl)
> - $(Q)$(SHELL) '$(sndrv_pcm_ioctl_tbl)' $(beauty_uapi_sound_dir) > $@
> -
> -kcmp_type_array := $(beauty_outdir)/kcmp_type_array.c
> -kcmp_hdr_dir := $(srctree)/tools/include/uapi/linux/
> -kcmp_type_tbl := $(srctree)/tools/perf/trace/beauty/kcmp_type.sh
> -
> -$(kcmp_type_array): $(kcmp_hdr_dir)/kcmp.h $(kcmp_type_tbl)
> - $(Q)$(SHELL) '$(kcmp_type_tbl)' $(kcmp_hdr_dir) > $@
> -
> -kvm_ioctl_array := $(beauty_ioctl_outdir)/kvm_ioctl_array.c
> -kvm_hdr_dir := $(srctree)/tools/include/uapi/linux
> -kvm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/kvm_ioctl.sh
> -
> -$(kvm_ioctl_array): $(kvm_hdr_dir)/kvm.h $(kvm_ioctl_tbl)
> - $(Q)$(SHELL) '$(kvm_ioctl_tbl)' $(kvm_hdr_dir) > $@
> -
> -socket_arrays := $(beauty_outdir)/socket.c
> -socket_tbl := $(srctree)/tools/perf/trace/beauty/socket.sh
> -
> -$(socket_arrays): $(linux_uapi_dir)/in.h $(beauty_linux_dir)/socket.h $(socket_tbl)
> - $(Q)$(SHELL) '$(socket_tbl)' $(linux_uapi_dir) $(beauty_linux_dir) > $@
> -
> -sockaddr_arrays := $(beauty_outdir)/sockaddr.c
> -sockaddr_tbl := $(srctree)/tools/perf/trace/beauty/sockaddr.sh
> -
> -$(sockaddr_arrays): $(beauty_linux_dir)/socket.h $(sockaddr_tbl)
> - $(Q)$(SHELL) '$(sockaddr_tbl)' $(beauty_linux_dir) > $@
> -
> -vhost_virtio_ioctl_array := $(beauty_ioctl_outdir)/vhost_virtio_ioctl_array.c
> -vhost_virtio_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/vhost_virtio_ioctl.sh
> -
> -$(vhost_virtio_ioctl_array): $(beauty_uapi_linux_dir)/vhost.h $(vhost_virtio_ioctl_tbl)
> - $(Q)$(SHELL) '$(vhost_virtio_ioctl_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -perf_ioctl_array := $(beauty_ioctl_outdir)/perf_ioctl_array.c
> -perf_hdr_dir := $(srctree)/tools/include/uapi/linux
> -perf_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/perf_ioctl.sh
> -
> -$(perf_ioctl_array): $(perf_hdr_dir)/perf_event.h $(perf_ioctl_tbl)
> - $(Q)$(SHELL) '$(perf_ioctl_tbl)' $(perf_hdr_dir) > $@
> -
> -madvise_behavior_array := $(beauty_outdir)/madvise_behavior_array.c
> -madvise_hdr_dir := $(srctree)/tools/include/uapi/asm-generic/
> -madvise_behavior_tbl := $(srctree)/tools/perf/trace/beauty/madvise_behavior.sh
> -
> -$(madvise_behavior_array): $(madvise_hdr_dir)/mman-common.h $(madvise_behavior_tbl)
> - $(Q)$(SHELL) '$(madvise_behavior_tbl)' $(madvise_hdr_dir) > $@
> -
> -mmap_flags_array := $(beauty_outdir)/mmap_flags_array.c
> -mmap_flags_tbl := $(srctree)/tools/perf/trace/beauty/mmap_flags.sh
> -
> -$(mmap_flags_array): $(linux_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman-common.h $(mmap_flags_tbl)
> - $(Q)$(SHELL) '$(mmap_flags_tbl)' $(linux_uapi_dir) $(asm_generic_uapi_dir) $(arch_asm_uapi_dir) > $@
> -
> -mremap_flags_array := $(beauty_outdir)/mremap_flags_array.c
> -mremap_flags_tbl := $(srctree)/tools/perf/trace/beauty/mremap_flags.sh
> -
> -$(mremap_flags_array): $(linux_uapi_dir)/mman.h $(mremap_flags_tbl)
> - $(Q)$(SHELL) '$(mremap_flags_tbl)' $(linux_uapi_dir) > $@
> -
> -mount_flags_array := $(beauty_outdir)/mount_flags_array.c
> -mount_flags_tbl := $(srctree)/tools/perf/trace/beauty/mount_flags.sh
> -
> -$(mount_flags_array): $(beauty_uapi_linux_dir)/mount.h $(mount_flags_tbl)
> - $(Q)$(SHELL) '$(mount_flags_tbl)' $(beauty_uapi_linux_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): $(beauty_uapi_linux_dir)/mount.h $(move_mount_flags_tbl)
> - $(Q)$(SHELL) '$(move_mount_flags_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -mmap_prot_array := $(beauty_outdir)/mmap_prot_array.c
> -mmap_prot_tbl := $(srctree)/tools/perf/trace/beauty/mmap_prot.sh
> -
> -$(mmap_prot_array): $(asm_generic_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman-common.h $(mmap_prot_tbl)
> - $(Q)$(SHELL) '$(mmap_prot_tbl)' $(asm_generic_uapi_dir) $(arch_asm_uapi_dir) > $@
> -
> -prctl_option_array := $(beauty_outdir)/prctl_option_array.c
> -prctl_option_tbl := $(srctree)/tools/perf/trace/beauty/prctl_option.sh
> -
> -$(prctl_option_array): $(beauty_uapi_linux_dir)/prctl.h $(prctl_option_tbl)
> - $(Q)$(SHELL) '$(prctl_option_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -usbdevfs_ioctl_array := $(beauty_ioctl_outdir)/usbdevfs_ioctl_array.c
> -usbdevfs_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/usbdevfs_ioctl.sh
> -
> -$(usbdevfs_ioctl_array): $(beauty_uapi_linux_dir)/usbdevice_fs.h $(usbdevfs_ioctl_tbl)
> - $(Q)$(SHELL) '$(usbdevfs_ioctl_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -x86_arch_prctl_code_array := $(beauty_outdir)/x86_arch_prctl_code_array.c
> -x86_arch_prctl_code_tbl := $(srctree)/tools/perf/trace/beauty/x86_arch_prctl.sh
> -
> -$(x86_arch_prctl_code_array): $(beauty_x86_arch_asm_uapi_dir)/prctl.h $(x86_arch_prctl_code_tbl)
> - $(Q)$(SHELL) '$(x86_arch_prctl_code_tbl)' $(beauty_x86_arch_asm_uapi_dir) > $@
> -
> -x86_arch_irq_vectors_array := $(beauty_outdir)/x86_arch_irq_vectors_array.c
> -x86_arch_irq_vectors_tbl := $(srctree)/tools/perf/trace/beauty/tracepoints/x86_irq_vectors.sh
> -
> -$(x86_arch_irq_vectors_array): $(beauty_arch_asm_dir)/irq_vectors.h $(x86_arch_irq_vectors_tbl)
> - $(Q)$(SHELL) '$(x86_arch_irq_vectors_tbl)' $(beauty_arch_asm_dir) > $@
> -
> -x86_arch_MSRs_array := $(beauty_outdir)/x86_arch_MSRs_array.c
> -x86_arch_MSRs_tbl := $(srctree)/tools/perf/trace/beauty/tracepoints/x86_msr.sh
> -
> -$(x86_arch_MSRs_array): $(x86_arch_asm_dir)/msr-index.h $(x86_arch_MSRs_tbl)
> - $(Q)$(SHELL) '$(x86_arch_MSRs_tbl)' $(x86_arch_asm_dir) > $@
> -
> -rename_flags_array := $(beauty_outdir)/rename_flags_array.c
> -rename_flags_tbl := $(srctree)/tools/perf/trace/beauty/rename_flags.sh
> -
> -$(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
> -arch_errno_tbl := $(srctree)/tools/perf/trace/beauty/arch_errno_names.sh
> -
> -$(arch_errno_name_array): $(arch_errno_tbl)
> - $(Q)$(SHELL) '$(arch_errno_tbl)' '$(patsubst -%,,$(CC))' $(arch_errno_hdr_dir) > $@
> -
> -statx_mask_array := $(beauty_outdir)/statx_mask_array.c
> -statx_mask_tbl := $(srctree)/tools/perf/trace/beauty/statx_mask.sh
> -
> -$(statx_mask_array): $(beauty_uapi_linux_dir)/stat.h $(statx_mask_tbl)
> - $(Q)$(SHELL) '$(statx_mask_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -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): $(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
>
> tests-coresight-targets: FORCE
> diff --cc tools/perf/builtin-trace.c
> index 0730c1d9f0b3adc7,48615ddccd93a1e8..2530b4035e4f57e1
> --- a/tools/perf/builtin-trace.c
> +++ b/tools/perf/builtin-trace.c
> @@@ -783,11 -771,10 +783,6 @@@ static const char *bpf_cmd[] =
> };
> static DEFINE_STRARRAY(bpf_cmd, "BPF_");
>
> - static const char *fsmount_flags[] = {
> - [1] = "CLOEXEC",
> - };
> - static DEFINE_STRARRAY(fsmount_flags, "FSMOUNT_");
> -#include "trace/beauty/generated/fsconfig_arrays.c"
> -
> -static DEFINE_STRARRAY(fsconfig_cmds, "FSCONFIG_");
> --
> static const char *epoll_ctl_ops[] = { "ADD", "DEL", "MOD", };
> static DEFINE_STRARRAY_OFFSET(epoll_ctl_ops, "EPOLL_CTL_", 1);
>
On Thu, May 21, 2026 at 10:58 AM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> On Thu, May 21, 2026 at 02:09:14PM -0300, Arnaldo Carvalho de Melo wrote:
> > Just FYI, this is the merge commit solving this conflict.
>
> Ian,
>
> Please take a look at tmp.perf-tools-next, it has this all
> hopefully solved, I'm running the container builds, so far so good:
>
> toolsbuilder@five:~$ export PATH=~/git/linux-tools-container-builds/bin/:$PATH
> toolsbuilder@five:~$ export BUILD_TARBALL=http://192.168.86.5/perf/perf-7.1.0-rc4.tar.xz
> toolsbuilder@five:~$ time dm
> 1 128.07 almalinux:8 : Ok gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-28), clang version 21.1.8 ( 21.1.8-1.module_el8.10.0+4172+b6b13d75) flex 2.6.1
> 2 107.40 almalinux:9 : Ok gcc (GCC) 11.5.0 20240719 (Red Hat 11.5.0-11), clang version 20.1.8 (AlmaLinux OS Foundation 20.1.8-3.el9) flex 2.6.4
> 3 141.36 almalinux:9-i386: Ok gcc (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3), clang version 17.0.6 (AlmaLinux OS Foundation 17.0.6-5.el9) flex 2.6.4
I did a test build and it worked. I looked at the changes and they
make sense to me. I still see the libunwind build-test failure that's
fixed by:
https://lore.kernel.org/linux-perf-users/20260521072429.1283423-2-irogers@google.com/
Thanks!
Ian
> - Arnaldo
>
> > Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> > commit 86c8774ce08b931debdaa3f61f5a033639c183ca
> > Merge: f8d0db39bcc536ef 758c807bb943138f
> > Merge remote-tracking branch 'torvalds/master' into perf-tools-next
> >
> > Fixup clash of:
> >
> > 552636b9317c8a84 ("perf trace: Add beautifier script for fsmount flags")
> >
> > That went via Namhyung upstream and the following ones in the
> > perf-tools-next tree:
> >
> > 32969ef6e3e1979a ("perf build: Pre-generate BPF skeleton tooling during umbrella prepare phase")
> > 537609924c43715e ("perf trace beauty: Make beauty generated C code standalone .o files")
> >
> > This complements sent by Ian Rogers.
> >
> > Cc: Ian Rogers <irogers@google.com>
> > Cc: Mark Brown <broonie@kernel.org>
> > Cc: Namhyung Kim <namhyung@kernel.org>
> > Cc: Thorsten Leemhuis <linux@leemhuis.info>
> > Fixes: f8d0db39bcc536ef ("perf build: Fix fsmount.o build")
> >
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
> >
> > diff --cc tools/perf/Makefile.perf
> > index fc92d6ceac5b0c98,76b35ac19acbfb20..4ac2a0cec9ee22a2
> > --- a/tools/perf/Makefile.perf
> > +++ b/tools/perf/Makefile.perf
> > @@@ -509,7 -508,232 +508,6 @@@ arm64-sysreg-defs-clean
> > $(Q)$(MAKE) -C $(arm64_gen_sysreg_dir) O=$(arm64_gen_sysreg_outdir) \
> > prefix= subdir= 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/
> > -beauty_uapi_sound_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/sound/
> > -beauty_arch_asm_dir := $(srctree)/tools/perf/trace/beauty/arch/x86/include/asm/
> > -beauty_x86_arch_asm_uapi_dir := $(srctree)/tools/perf/trace/beauty/arch/x86/include/uapi/asm/
> > -
> > -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/
> > -x86_arch_asm_dir := $(srctree)/tools/arch/x86/include/asm/
> > -
> > -beauty_outdir := $(OUTPUT)trace/beauty/generated
> > -beauty_ioctl_outdir := $(beauty_outdir)/ioctl
> > -
> > -# Create output directory if not already present
> > -$(shell [ -d '$(beauty_ioctl_outdir)' ] || mkdir -p '$(beauty_ioctl_outdir)')
> > -
> > -syscall_array := $(beauty_outdir)/syscalltbl.c
> > -syscall_tbl := $(srctree)/tools/perf/trace/beauty/syscalltbl.sh
> > -syscall_tbl_data := $(srctree)/tools/scripts/syscall.tbl \
> > - $(wildcard $(srctree)/tools/perf/arch/*/entry/syscalls/syscall*.tbl)
> > -
> > -$(syscall_array): $(syscall_tbl) $(syscall_tbl_data)
> > - $(Q)$(SHELL) '$(syscall_tbl)' $(srctree)/tools $@
> > -
> > -fs_at_flags_array := $(beauty_outdir)/fs_at_flags_array.c
> > -fs_at_flags_tbl := $(srctree)/tools/perf/trace/beauty/fs_at_flags.sh
> > -
> > -$(fs_at_flags_array): $(beauty_uapi_linux_dir)/fcntl.h $(fs_at_flags_tbl)
> > - $(Q)$(SHELL) '$(fs_at_flags_tbl)' $(beauty_uapi_linux_dir) > $@
> > -
> > -clone_flags_array := $(beauty_outdir)/clone_flags_array.c
> > -clone_flags_tbl := $(srctree)/tools/perf/trace/beauty/clone.sh
> > -
> > -$(clone_flags_array): $(beauty_uapi_linux_dir)/sched.h $(clone_flags_tbl)
> > - $(Q)$(SHELL) '$(clone_flags_tbl)' $(beauty_uapi_linux_dir) > $@
> > -
> > -drm_ioctl_array := $(beauty_ioctl_outdir)/drm_ioctl_array.c
> > -drm_hdr_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/drm
> > -drm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/drm_ioctl.sh
> > -
> > -$(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) > $@
> > -
> > -fadvise_advice_array := $(beauty_outdir)/fadvise_advice_array.c
> > -fadvise_advice_tbl := $(srctree)/tools/perf/trace/beauty/fadvise.sh
> > -
> > -$(fadvise_advice_array): $(beauty_uapi_linux_dir)/fadvise.h $(fadvise_advice_tbl)
> > - $(Q)$(SHELL) '$(fadvise_advice_tbl)' $(beauty_uapi_linux_dir) > $@
> > -
> > -fsmount_arrays := $(beauty_outdir)/fsmount_arrays.c
> > -fsmount_tbls := $(srctree)/tools/perf/trace/beauty/fsmount.sh
> > -
> > -$(fsmount_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsmount_tbls)
> > - $(Q)$(SHELL) '$(fsmount_tbls)' $(beauty_uapi_linux_dir) > $@
> > -
> > -fsmount_attr_arrays := $(beauty_outdir)/fsmount_attr_arrays.c
> > -fsmount_attr_tbls := $(srctree)/tools/perf/trace/beauty/fsmount_attr.sh
> > -
> > -$(fsmount_attr_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsmount_attr_tbls)
> > - $(Q)$(SHELL) '$(fsmount_attr_tbls)' $(beauty_uapi_linux_dir) > $@
> > -
> > -fspick_arrays := $(beauty_outdir)/fspick_arrays.c
> > -fspick_tbls := $(srctree)/tools/perf/trace/beauty/fspick.sh
> > -
> > -$(fspick_arrays): $(beauty_uapi_linux_dir)/mount.h $(fspick_tbls)
> > - $(Q)$(SHELL) '$(fspick_tbls)' $(beauty_uapi_linux_dir) > $@
> > -
> > -fsconfig_arrays := $(beauty_outdir)/fsconfig_arrays.c
> > -fsconfig_tbls := $(srctree)/tools/perf/trace/beauty/fsconfig.sh
> > -
> > -$(fsconfig_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsconfig_tbls)
> > - $(Q)$(SHELL) '$(fsconfig_tbls)' $(beauty_uapi_linux_dir) > $@
> > -
> > -pkey_alloc_access_rights_array := $(beauty_outdir)/pkey_alloc_access_rights_array.c
> > -asm_generic_hdr_dir := $(srctree)/tools/include/uapi/asm-generic/
> > -pkey_alloc_access_rights_tbl := $(srctree)/tools/perf/trace/beauty/pkey_alloc_access_rights.sh
> > -
> > -$(pkey_alloc_access_rights_array): $(asm_generic_hdr_dir)/mman-common.h $(pkey_alloc_access_rights_tbl)
> > - $(Q)$(SHELL) '$(pkey_alloc_access_rights_tbl)' $(asm_generic_hdr_dir) > $@
> > -
> > -sndrv_ctl_ioctl_array := $(beauty_ioctl_outdir)/sndrv_ctl_ioctl_array.c
> > -sndrv_ctl_hdr_dir := $(srctree)/tools/include/uapi/sound
> > -sndrv_ctl_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/sndrv_ctl_ioctl.sh
> > -
> > -$(sndrv_ctl_ioctl_array): $(beauty_uapi_sound_dir)/asound.h $(sndrv_ctl_ioctl_tbl)
> > - $(Q)$(SHELL) '$(sndrv_ctl_ioctl_tbl)' $(beauty_uapi_sound_dir) > $@
> > -
> > -sndrv_pcm_ioctl_array := $(beauty_ioctl_outdir)/sndrv_pcm_ioctl_array.c
> > -sndrv_pcm_hdr_dir := $(srctree)/tools/include/uapi/sound
> > -sndrv_pcm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/sndrv_pcm_ioctl.sh
> > -
> > -$(sndrv_pcm_ioctl_array): $(beauty_uapi_sound_dir)/asound.h $(sndrv_pcm_ioctl_tbl)
> > - $(Q)$(SHELL) '$(sndrv_pcm_ioctl_tbl)' $(beauty_uapi_sound_dir) > $@
> > -
> > -kcmp_type_array := $(beauty_outdir)/kcmp_type_array.c
> > -kcmp_hdr_dir := $(srctree)/tools/include/uapi/linux/
> > -kcmp_type_tbl := $(srctree)/tools/perf/trace/beauty/kcmp_type.sh
> > -
> > -$(kcmp_type_array): $(kcmp_hdr_dir)/kcmp.h $(kcmp_type_tbl)
> > - $(Q)$(SHELL) '$(kcmp_type_tbl)' $(kcmp_hdr_dir) > $@
> > -
> > -kvm_ioctl_array := $(beauty_ioctl_outdir)/kvm_ioctl_array.c
> > -kvm_hdr_dir := $(srctree)/tools/include/uapi/linux
> > -kvm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/kvm_ioctl.sh
> > -
> > -$(kvm_ioctl_array): $(kvm_hdr_dir)/kvm.h $(kvm_ioctl_tbl)
> > - $(Q)$(SHELL) '$(kvm_ioctl_tbl)' $(kvm_hdr_dir) > $@
> > -
> > -socket_arrays := $(beauty_outdir)/socket.c
> > -socket_tbl := $(srctree)/tools/perf/trace/beauty/socket.sh
> > -
> > -$(socket_arrays): $(linux_uapi_dir)/in.h $(beauty_linux_dir)/socket.h $(socket_tbl)
> > - $(Q)$(SHELL) '$(socket_tbl)' $(linux_uapi_dir) $(beauty_linux_dir) > $@
> > -
> > -sockaddr_arrays := $(beauty_outdir)/sockaddr.c
> > -sockaddr_tbl := $(srctree)/tools/perf/trace/beauty/sockaddr.sh
> > -
> > -$(sockaddr_arrays): $(beauty_linux_dir)/socket.h $(sockaddr_tbl)
> > - $(Q)$(SHELL) '$(sockaddr_tbl)' $(beauty_linux_dir) > $@
> > -
> > -vhost_virtio_ioctl_array := $(beauty_ioctl_outdir)/vhost_virtio_ioctl_array.c
> > -vhost_virtio_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/vhost_virtio_ioctl.sh
> > -
> > -$(vhost_virtio_ioctl_array): $(beauty_uapi_linux_dir)/vhost.h $(vhost_virtio_ioctl_tbl)
> > - $(Q)$(SHELL) '$(vhost_virtio_ioctl_tbl)' $(beauty_uapi_linux_dir) > $@
> > -
> > -perf_ioctl_array := $(beauty_ioctl_outdir)/perf_ioctl_array.c
> > -perf_hdr_dir := $(srctree)/tools/include/uapi/linux
> > -perf_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/perf_ioctl.sh
> > -
> > -$(perf_ioctl_array): $(perf_hdr_dir)/perf_event.h $(perf_ioctl_tbl)
> > - $(Q)$(SHELL) '$(perf_ioctl_tbl)' $(perf_hdr_dir) > $@
> > -
> > -madvise_behavior_array := $(beauty_outdir)/madvise_behavior_array.c
> > -madvise_hdr_dir := $(srctree)/tools/include/uapi/asm-generic/
> > -madvise_behavior_tbl := $(srctree)/tools/perf/trace/beauty/madvise_behavior.sh
> > -
> > -$(madvise_behavior_array): $(madvise_hdr_dir)/mman-common.h $(madvise_behavior_tbl)
> > - $(Q)$(SHELL) '$(madvise_behavior_tbl)' $(madvise_hdr_dir) > $@
> > -
> > -mmap_flags_array := $(beauty_outdir)/mmap_flags_array.c
> > -mmap_flags_tbl := $(srctree)/tools/perf/trace/beauty/mmap_flags.sh
> > -
> > -$(mmap_flags_array): $(linux_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman-common.h $(mmap_flags_tbl)
> > - $(Q)$(SHELL) '$(mmap_flags_tbl)' $(linux_uapi_dir) $(asm_generic_uapi_dir) $(arch_asm_uapi_dir) > $@
> > -
> > -mremap_flags_array := $(beauty_outdir)/mremap_flags_array.c
> > -mremap_flags_tbl := $(srctree)/tools/perf/trace/beauty/mremap_flags.sh
> > -
> > -$(mremap_flags_array): $(linux_uapi_dir)/mman.h $(mremap_flags_tbl)
> > - $(Q)$(SHELL) '$(mremap_flags_tbl)' $(linux_uapi_dir) > $@
> > -
> > -mount_flags_array := $(beauty_outdir)/mount_flags_array.c
> > -mount_flags_tbl := $(srctree)/tools/perf/trace/beauty/mount_flags.sh
> > -
> > -$(mount_flags_array): $(beauty_uapi_linux_dir)/mount.h $(mount_flags_tbl)
> > - $(Q)$(SHELL) '$(mount_flags_tbl)' $(beauty_uapi_linux_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): $(beauty_uapi_linux_dir)/mount.h $(move_mount_flags_tbl)
> > - $(Q)$(SHELL) '$(move_mount_flags_tbl)' $(beauty_uapi_linux_dir) > $@
> > -
> > -mmap_prot_array := $(beauty_outdir)/mmap_prot_array.c
> > -mmap_prot_tbl := $(srctree)/tools/perf/trace/beauty/mmap_prot.sh
> > -
> > -$(mmap_prot_array): $(asm_generic_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman-common.h $(mmap_prot_tbl)
> > - $(Q)$(SHELL) '$(mmap_prot_tbl)' $(asm_generic_uapi_dir) $(arch_asm_uapi_dir) > $@
> > -
> > -prctl_option_array := $(beauty_outdir)/prctl_option_array.c
> > -prctl_option_tbl := $(srctree)/tools/perf/trace/beauty/prctl_option.sh
> > -
> > -$(prctl_option_array): $(beauty_uapi_linux_dir)/prctl.h $(prctl_option_tbl)
> > - $(Q)$(SHELL) '$(prctl_option_tbl)' $(beauty_uapi_linux_dir) > $@
> > -
> > -usbdevfs_ioctl_array := $(beauty_ioctl_outdir)/usbdevfs_ioctl_array.c
> > -usbdevfs_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/usbdevfs_ioctl.sh
> > -
> > -$(usbdevfs_ioctl_array): $(beauty_uapi_linux_dir)/usbdevice_fs.h $(usbdevfs_ioctl_tbl)
> > - $(Q)$(SHELL) '$(usbdevfs_ioctl_tbl)' $(beauty_uapi_linux_dir) > $@
> > -
> > -x86_arch_prctl_code_array := $(beauty_outdir)/x86_arch_prctl_code_array.c
> > -x86_arch_prctl_code_tbl := $(srctree)/tools/perf/trace/beauty/x86_arch_prctl.sh
> > -
> > -$(x86_arch_prctl_code_array): $(beauty_x86_arch_asm_uapi_dir)/prctl.h $(x86_arch_prctl_code_tbl)
> > - $(Q)$(SHELL) '$(x86_arch_prctl_code_tbl)' $(beauty_x86_arch_asm_uapi_dir) > $@
> > -
> > -x86_arch_irq_vectors_array := $(beauty_outdir)/x86_arch_irq_vectors_array.c
> > -x86_arch_irq_vectors_tbl := $(srctree)/tools/perf/trace/beauty/tracepoints/x86_irq_vectors.sh
> > -
> > -$(x86_arch_irq_vectors_array): $(beauty_arch_asm_dir)/irq_vectors.h $(x86_arch_irq_vectors_tbl)
> > - $(Q)$(SHELL) '$(x86_arch_irq_vectors_tbl)' $(beauty_arch_asm_dir) > $@
> > -
> > -x86_arch_MSRs_array := $(beauty_outdir)/x86_arch_MSRs_array.c
> > -x86_arch_MSRs_tbl := $(srctree)/tools/perf/trace/beauty/tracepoints/x86_msr.sh
> > -
> > -$(x86_arch_MSRs_array): $(x86_arch_asm_dir)/msr-index.h $(x86_arch_MSRs_tbl)
> > - $(Q)$(SHELL) '$(x86_arch_MSRs_tbl)' $(x86_arch_asm_dir) > $@
> > -
> > -rename_flags_array := $(beauty_outdir)/rename_flags_array.c
> > -rename_flags_tbl := $(srctree)/tools/perf/trace/beauty/rename_flags.sh
> > -
> > -$(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
> > -arch_errno_tbl := $(srctree)/tools/perf/trace/beauty/arch_errno_names.sh
> > -
> > -$(arch_errno_name_array): $(arch_errno_tbl)
> > - $(Q)$(SHELL) '$(arch_errno_tbl)' '$(patsubst -%,,$(CC))' $(arch_errno_hdr_dir) > $@
> > -
> > -statx_mask_array := $(beauty_outdir)/statx_mask_array.c
> > -statx_mask_tbl := $(srctree)/tools/perf/trace/beauty/statx_mask.sh
> > -
> > -$(statx_mask_array): $(beauty_uapi_linux_dir)/stat.h $(statx_mask_tbl)
> > - $(Q)$(SHELL) '$(statx_mask_tbl)' $(beauty_uapi_linux_dir) > $@
> > -
> > -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): $(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
> >
> > tests-coresight-targets: FORCE
> > diff --cc tools/perf/builtin-trace.c
> > index 0730c1d9f0b3adc7,48615ddccd93a1e8..2530b4035e4f57e1
> > --- a/tools/perf/builtin-trace.c
> > +++ b/tools/perf/builtin-trace.c
> > @@@ -783,11 -771,10 +783,6 @@@ static const char *bpf_cmd[] =
> > };
> > static DEFINE_STRARRAY(bpf_cmd, "BPF_");
> >
> > - static const char *fsmount_flags[] = {
> > - [1] = "CLOEXEC",
> > - };
> > - static DEFINE_STRARRAY(fsmount_flags, "FSMOUNT_");
> > -#include "trace/beauty/generated/fsconfig_arrays.c"
> > -
> > -static DEFINE_STRARRAY(fsconfig_cmds, "FSCONFIG_");
> > --
> > static const char *epoll_ctl_ops[] = { "ADD", "DEL", "MOD", };
> > static DEFINE_STRARRAY_OFFSET(epoll_ctl_ops, "EPOLL_CTL_", 1);
> >
On Thu, May 21, 2026 at 02:09:14PM -0300, Arnaldo Carvalho de Melo wrote:
> Just FYI, this is the merge commit solving this conflict.
>
> Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> commit 86c8774ce08b931debdaa3f61f5a033639c183ca
> Merge: f8d0db39bcc536ef 758c807bb943138f
> Merge remote-tracking branch 'torvalds/master' into perf-tools-next
>
> Fixup clash of:
>
> 552636b9317c8a84 ("perf trace: Add beautifier script for fsmount flags")
>
> That went via Namhyung upstream and the following ones in the
> perf-tools-next tree:
>
> 32969ef6e3e1979a ("perf build: Pre-generate BPF skeleton tooling during umbrella prepare phase")
> 537609924c43715e ("perf trace beauty: Make beauty generated C code standalone .o files")
>
> This complements sent by Ian Rogers.
As long as you have this with Ian's fix,
Acked-by: Namhyung Kim <namhyung@kernel.org>
Thanks,
Namhyung
>
> Cc: Ian Rogers <irogers@google.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Thorsten Leemhuis <linux@leemhuis.info>
> Fixes: f8d0db39bcc536ef ("perf build: Fix fsmount.o build")
>
> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> diff --cc tools/perf/Makefile.perf
> index fc92d6ceac5b0c98,76b35ac19acbfb20..4ac2a0cec9ee22a2
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@@ -509,7 -508,232 +508,6 @@@ arm64-sysreg-defs-clean
> $(Q)$(MAKE) -C $(arm64_gen_sysreg_dir) O=$(arm64_gen_sysreg_outdir) \
> prefix= subdir= 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/
> -beauty_uapi_sound_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/sound/
> -beauty_arch_asm_dir := $(srctree)/tools/perf/trace/beauty/arch/x86/include/asm/
> -beauty_x86_arch_asm_uapi_dir := $(srctree)/tools/perf/trace/beauty/arch/x86/include/uapi/asm/
> -
> -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/
> -x86_arch_asm_dir := $(srctree)/tools/arch/x86/include/asm/
> -
> -beauty_outdir := $(OUTPUT)trace/beauty/generated
> -beauty_ioctl_outdir := $(beauty_outdir)/ioctl
> -
> -# Create output directory if not already present
> -$(shell [ -d '$(beauty_ioctl_outdir)' ] || mkdir -p '$(beauty_ioctl_outdir)')
> -
> -syscall_array := $(beauty_outdir)/syscalltbl.c
> -syscall_tbl := $(srctree)/tools/perf/trace/beauty/syscalltbl.sh
> -syscall_tbl_data := $(srctree)/tools/scripts/syscall.tbl \
> - $(wildcard $(srctree)/tools/perf/arch/*/entry/syscalls/syscall*.tbl)
> -
> -$(syscall_array): $(syscall_tbl) $(syscall_tbl_data)
> - $(Q)$(SHELL) '$(syscall_tbl)' $(srctree)/tools $@
> -
> -fs_at_flags_array := $(beauty_outdir)/fs_at_flags_array.c
> -fs_at_flags_tbl := $(srctree)/tools/perf/trace/beauty/fs_at_flags.sh
> -
> -$(fs_at_flags_array): $(beauty_uapi_linux_dir)/fcntl.h $(fs_at_flags_tbl)
> - $(Q)$(SHELL) '$(fs_at_flags_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -clone_flags_array := $(beauty_outdir)/clone_flags_array.c
> -clone_flags_tbl := $(srctree)/tools/perf/trace/beauty/clone.sh
> -
> -$(clone_flags_array): $(beauty_uapi_linux_dir)/sched.h $(clone_flags_tbl)
> - $(Q)$(SHELL) '$(clone_flags_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -drm_ioctl_array := $(beauty_ioctl_outdir)/drm_ioctl_array.c
> -drm_hdr_dir := $(srctree)/tools/perf/trace/beauty/include/uapi/drm
> -drm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/drm_ioctl.sh
> -
> -$(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) > $@
> -
> -fadvise_advice_array := $(beauty_outdir)/fadvise_advice_array.c
> -fadvise_advice_tbl := $(srctree)/tools/perf/trace/beauty/fadvise.sh
> -
> -$(fadvise_advice_array): $(beauty_uapi_linux_dir)/fadvise.h $(fadvise_advice_tbl)
> - $(Q)$(SHELL) '$(fadvise_advice_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -fsmount_arrays := $(beauty_outdir)/fsmount_arrays.c
> -fsmount_tbls := $(srctree)/tools/perf/trace/beauty/fsmount.sh
> -
> -$(fsmount_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsmount_tbls)
> - $(Q)$(SHELL) '$(fsmount_tbls)' $(beauty_uapi_linux_dir) > $@
> -
> -fsmount_attr_arrays := $(beauty_outdir)/fsmount_attr_arrays.c
> -fsmount_attr_tbls := $(srctree)/tools/perf/trace/beauty/fsmount_attr.sh
> -
> -$(fsmount_attr_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsmount_attr_tbls)
> - $(Q)$(SHELL) '$(fsmount_attr_tbls)' $(beauty_uapi_linux_dir) > $@
> -
> -fspick_arrays := $(beauty_outdir)/fspick_arrays.c
> -fspick_tbls := $(srctree)/tools/perf/trace/beauty/fspick.sh
> -
> -$(fspick_arrays): $(beauty_uapi_linux_dir)/mount.h $(fspick_tbls)
> - $(Q)$(SHELL) '$(fspick_tbls)' $(beauty_uapi_linux_dir) > $@
> -
> -fsconfig_arrays := $(beauty_outdir)/fsconfig_arrays.c
> -fsconfig_tbls := $(srctree)/tools/perf/trace/beauty/fsconfig.sh
> -
> -$(fsconfig_arrays): $(beauty_uapi_linux_dir)/mount.h $(fsconfig_tbls)
> - $(Q)$(SHELL) '$(fsconfig_tbls)' $(beauty_uapi_linux_dir) > $@
> -
> -pkey_alloc_access_rights_array := $(beauty_outdir)/pkey_alloc_access_rights_array.c
> -asm_generic_hdr_dir := $(srctree)/tools/include/uapi/asm-generic/
> -pkey_alloc_access_rights_tbl := $(srctree)/tools/perf/trace/beauty/pkey_alloc_access_rights.sh
> -
> -$(pkey_alloc_access_rights_array): $(asm_generic_hdr_dir)/mman-common.h $(pkey_alloc_access_rights_tbl)
> - $(Q)$(SHELL) '$(pkey_alloc_access_rights_tbl)' $(asm_generic_hdr_dir) > $@
> -
> -sndrv_ctl_ioctl_array := $(beauty_ioctl_outdir)/sndrv_ctl_ioctl_array.c
> -sndrv_ctl_hdr_dir := $(srctree)/tools/include/uapi/sound
> -sndrv_ctl_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/sndrv_ctl_ioctl.sh
> -
> -$(sndrv_ctl_ioctl_array): $(beauty_uapi_sound_dir)/asound.h $(sndrv_ctl_ioctl_tbl)
> - $(Q)$(SHELL) '$(sndrv_ctl_ioctl_tbl)' $(beauty_uapi_sound_dir) > $@
> -
> -sndrv_pcm_ioctl_array := $(beauty_ioctl_outdir)/sndrv_pcm_ioctl_array.c
> -sndrv_pcm_hdr_dir := $(srctree)/tools/include/uapi/sound
> -sndrv_pcm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/sndrv_pcm_ioctl.sh
> -
> -$(sndrv_pcm_ioctl_array): $(beauty_uapi_sound_dir)/asound.h $(sndrv_pcm_ioctl_tbl)
> - $(Q)$(SHELL) '$(sndrv_pcm_ioctl_tbl)' $(beauty_uapi_sound_dir) > $@
> -
> -kcmp_type_array := $(beauty_outdir)/kcmp_type_array.c
> -kcmp_hdr_dir := $(srctree)/tools/include/uapi/linux/
> -kcmp_type_tbl := $(srctree)/tools/perf/trace/beauty/kcmp_type.sh
> -
> -$(kcmp_type_array): $(kcmp_hdr_dir)/kcmp.h $(kcmp_type_tbl)
> - $(Q)$(SHELL) '$(kcmp_type_tbl)' $(kcmp_hdr_dir) > $@
> -
> -kvm_ioctl_array := $(beauty_ioctl_outdir)/kvm_ioctl_array.c
> -kvm_hdr_dir := $(srctree)/tools/include/uapi/linux
> -kvm_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/kvm_ioctl.sh
> -
> -$(kvm_ioctl_array): $(kvm_hdr_dir)/kvm.h $(kvm_ioctl_tbl)
> - $(Q)$(SHELL) '$(kvm_ioctl_tbl)' $(kvm_hdr_dir) > $@
> -
> -socket_arrays := $(beauty_outdir)/socket.c
> -socket_tbl := $(srctree)/tools/perf/trace/beauty/socket.sh
> -
> -$(socket_arrays): $(linux_uapi_dir)/in.h $(beauty_linux_dir)/socket.h $(socket_tbl)
> - $(Q)$(SHELL) '$(socket_tbl)' $(linux_uapi_dir) $(beauty_linux_dir) > $@
> -
> -sockaddr_arrays := $(beauty_outdir)/sockaddr.c
> -sockaddr_tbl := $(srctree)/tools/perf/trace/beauty/sockaddr.sh
> -
> -$(sockaddr_arrays): $(beauty_linux_dir)/socket.h $(sockaddr_tbl)
> - $(Q)$(SHELL) '$(sockaddr_tbl)' $(beauty_linux_dir) > $@
> -
> -vhost_virtio_ioctl_array := $(beauty_ioctl_outdir)/vhost_virtio_ioctl_array.c
> -vhost_virtio_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/vhost_virtio_ioctl.sh
> -
> -$(vhost_virtio_ioctl_array): $(beauty_uapi_linux_dir)/vhost.h $(vhost_virtio_ioctl_tbl)
> - $(Q)$(SHELL) '$(vhost_virtio_ioctl_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -perf_ioctl_array := $(beauty_ioctl_outdir)/perf_ioctl_array.c
> -perf_hdr_dir := $(srctree)/tools/include/uapi/linux
> -perf_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/perf_ioctl.sh
> -
> -$(perf_ioctl_array): $(perf_hdr_dir)/perf_event.h $(perf_ioctl_tbl)
> - $(Q)$(SHELL) '$(perf_ioctl_tbl)' $(perf_hdr_dir) > $@
> -
> -madvise_behavior_array := $(beauty_outdir)/madvise_behavior_array.c
> -madvise_hdr_dir := $(srctree)/tools/include/uapi/asm-generic/
> -madvise_behavior_tbl := $(srctree)/tools/perf/trace/beauty/madvise_behavior.sh
> -
> -$(madvise_behavior_array): $(madvise_hdr_dir)/mman-common.h $(madvise_behavior_tbl)
> - $(Q)$(SHELL) '$(madvise_behavior_tbl)' $(madvise_hdr_dir) > $@
> -
> -mmap_flags_array := $(beauty_outdir)/mmap_flags_array.c
> -mmap_flags_tbl := $(srctree)/tools/perf/trace/beauty/mmap_flags.sh
> -
> -$(mmap_flags_array): $(linux_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman-common.h $(mmap_flags_tbl)
> - $(Q)$(SHELL) '$(mmap_flags_tbl)' $(linux_uapi_dir) $(asm_generic_uapi_dir) $(arch_asm_uapi_dir) > $@
> -
> -mremap_flags_array := $(beauty_outdir)/mremap_flags_array.c
> -mremap_flags_tbl := $(srctree)/tools/perf/trace/beauty/mremap_flags.sh
> -
> -$(mremap_flags_array): $(linux_uapi_dir)/mman.h $(mremap_flags_tbl)
> - $(Q)$(SHELL) '$(mremap_flags_tbl)' $(linux_uapi_dir) > $@
> -
> -mount_flags_array := $(beauty_outdir)/mount_flags_array.c
> -mount_flags_tbl := $(srctree)/tools/perf/trace/beauty/mount_flags.sh
> -
> -$(mount_flags_array): $(beauty_uapi_linux_dir)/mount.h $(mount_flags_tbl)
> - $(Q)$(SHELL) '$(mount_flags_tbl)' $(beauty_uapi_linux_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): $(beauty_uapi_linux_dir)/mount.h $(move_mount_flags_tbl)
> - $(Q)$(SHELL) '$(move_mount_flags_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -mmap_prot_array := $(beauty_outdir)/mmap_prot_array.c
> -mmap_prot_tbl := $(srctree)/tools/perf/trace/beauty/mmap_prot.sh
> -
> -$(mmap_prot_array): $(asm_generic_uapi_dir)/mman.h $(asm_generic_uapi_dir)/mman-common.h $(mmap_prot_tbl)
> - $(Q)$(SHELL) '$(mmap_prot_tbl)' $(asm_generic_uapi_dir) $(arch_asm_uapi_dir) > $@
> -
> -prctl_option_array := $(beauty_outdir)/prctl_option_array.c
> -prctl_option_tbl := $(srctree)/tools/perf/trace/beauty/prctl_option.sh
> -
> -$(prctl_option_array): $(beauty_uapi_linux_dir)/prctl.h $(prctl_option_tbl)
> - $(Q)$(SHELL) '$(prctl_option_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -usbdevfs_ioctl_array := $(beauty_ioctl_outdir)/usbdevfs_ioctl_array.c
> -usbdevfs_ioctl_tbl := $(srctree)/tools/perf/trace/beauty/usbdevfs_ioctl.sh
> -
> -$(usbdevfs_ioctl_array): $(beauty_uapi_linux_dir)/usbdevice_fs.h $(usbdevfs_ioctl_tbl)
> - $(Q)$(SHELL) '$(usbdevfs_ioctl_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -x86_arch_prctl_code_array := $(beauty_outdir)/x86_arch_prctl_code_array.c
> -x86_arch_prctl_code_tbl := $(srctree)/tools/perf/trace/beauty/x86_arch_prctl.sh
> -
> -$(x86_arch_prctl_code_array): $(beauty_x86_arch_asm_uapi_dir)/prctl.h $(x86_arch_prctl_code_tbl)
> - $(Q)$(SHELL) '$(x86_arch_prctl_code_tbl)' $(beauty_x86_arch_asm_uapi_dir) > $@
> -
> -x86_arch_irq_vectors_array := $(beauty_outdir)/x86_arch_irq_vectors_array.c
> -x86_arch_irq_vectors_tbl := $(srctree)/tools/perf/trace/beauty/tracepoints/x86_irq_vectors.sh
> -
> -$(x86_arch_irq_vectors_array): $(beauty_arch_asm_dir)/irq_vectors.h $(x86_arch_irq_vectors_tbl)
> - $(Q)$(SHELL) '$(x86_arch_irq_vectors_tbl)' $(beauty_arch_asm_dir) > $@
> -
> -x86_arch_MSRs_array := $(beauty_outdir)/x86_arch_MSRs_array.c
> -x86_arch_MSRs_tbl := $(srctree)/tools/perf/trace/beauty/tracepoints/x86_msr.sh
> -
> -$(x86_arch_MSRs_array): $(x86_arch_asm_dir)/msr-index.h $(x86_arch_MSRs_tbl)
> - $(Q)$(SHELL) '$(x86_arch_MSRs_tbl)' $(x86_arch_asm_dir) > $@
> -
> -rename_flags_array := $(beauty_outdir)/rename_flags_array.c
> -rename_flags_tbl := $(srctree)/tools/perf/trace/beauty/rename_flags.sh
> -
> -$(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
> -arch_errno_tbl := $(srctree)/tools/perf/trace/beauty/arch_errno_names.sh
> -
> -$(arch_errno_name_array): $(arch_errno_tbl)
> - $(Q)$(SHELL) '$(arch_errno_tbl)' '$(patsubst -%,,$(CC))' $(arch_errno_hdr_dir) > $@
> -
> -statx_mask_array := $(beauty_outdir)/statx_mask_array.c
> -statx_mask_tbl := $(srctree)/tools/perf/trace/beauty/statx_mask.sh
> -
> -$(statx_mask_array): $(beauty_uapi_linux_dir)/stat.h $(statx_mask_tbl)
> - $(Q)$(SHELL) '$(statx_mask_tbl)' $(beauty_uapi_linux_dir) > $@
> -
> -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): $(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
>
> tests-coresight-targets: FORCE
> diff --cc tools/perf/builtin-trace.c
> index 0730c1d9f0b3adc7,48615ddccd93a1e8..2530b4035e4f57e1
> --- a/tools/perf/builtin-trace.c
> +++ b/tools/perf/builtin-trace.c
> @@@ -783,11 -771,10 +783,6 @@@ static const char *bpf_cmd[] =
> };
> static DEFINE_STRARRAY(bpf_cmd, "BPF_");
>
> - static const char *fsmount_flags[] = {
> - [1] = "CLOEXEC",
> - };
> - static DEFINE_STRARRAY(fsmount_flags, "FSMOUNT_");
> -#include "trace/beauty/generated/fsconfig_arrays.c"
> -
> -static DEFINE_STRARRAY(fsconfig_cmds, "FSCONFIG_");
> --
> static const char *epoll_ctl_ops[] = { "ADD", "DEL", "MOD", };
> static DEFINE_STRARRAY_OFFSET(epoll_ctl_ops, "EPOLL_CTL_", 1);
>
On Thu, May 21, 2026 at 10:55:02AM -0700, Namhyung Kim wrote:
> On Thu, May 21, 2026 at 02:09:14PM -0300, Arnaldo Carvalho de Melo wrote:
> > Just FYI, this is the merge commit solving this conflict.
> >
> > Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> > commit 86c8774ce08b931debdaa3f61f5a033639c183ca
> > Merge: f8d0db39bcc536ef 758c807bb943138f
> > Merge remote-tracking branch 'torvalds/master' into perf-tools-next
> >
> > Fixup clash of:
> >
> > 552636b9317c8a84 ("perf trace: Add beautifier script for fsmount flags")
> >
> > That went via Namhyung upstream and the following ones in the
> > perf-tools-next tree:
> >
> > 32969ef6e3e1979a ("perf build: Pre-generate BPF skeleton tooling during umbrella prepare phase")
> > 537609924c43715e ("perf trace beauty: Make beauty generated C code standalone .o files")
> >
> > This complements sent by Ian Rogers.
>
> As long as you have this with Ian's fix,
>
> Acked-by: Namhyung Kim <namhyung@kernel.org>
Yeah, that is the case, justg added your Acked-by, thanks for checking
and providing it!
- Arnaldo
© 2016 - 2026 Red Hat, Inc.