[PATCH v1 00/12] perf tools: Add a script to sync the header copies with the kernel sources
From: Arnaldo Carvalho de Melo
Date: Wed Oct 21 2026 - 17:31:41 EST
Hi,
The tools/ tree carries copies of kernel headers that are refreshed by
hand: check-headers points at the stale ones, then one looks up the
kernel commits that changed each of them, pastes the relevant bits into
the commit message, regenerates the beauty string tables, builds the
consumers and commits, one header at a time.
This adds tools/perf/scripts/sync-headers.sh, also available as 'make -C
tools/perf sync-headers', and patches 2-12 are what it produced for this
branch: for each stale header it finds the kernel commits since the last
sync, copies the file, runs the beauty scripts before and after for the
beauty copies, builds perf and the other consumers of the header and
creates a commit in the usual format, grouping the headers that share a
consumer, as with the KVM ones.
As for the state of the copies, only two headers are newer in this branch than
in the kernel sources, perf_event.h and perf_regs.h: changes to them this time
went to tools/ first, with the kernel picking them up later, so the script
checks if the kernel file matches an earlier tools/ state and leaves those
alone.
Best regards,
- Arnaldo
Arnaldo Carvalho de Melo (12):
perf tools: Add script and make target to sync the header copies with
the kernel
tools headers UAPI: Sync linux/if_addr.h with the kernel sources
tools headers UAPI: Sync linux/rtnetlink.h with the kernel sources
tools headers: Sync linux/gfp_types.h with the kernel sources
tools headers x86 cpufeatures: Sync with the kernel sources
tools arch x86: Sync the msr-index.h copy with the kernel sources
perf beauty: Update copy of linux/socket.h with the kernel sources
tools headers: Sync UAPI linux/fcntl.h with the kernel sources
tools headers: Sync UAPI linux/fs.h with the kernel sources
tools headers: Sync UAPI linux/mount.h with the kernel sources
tools headers: Sync UAPI sound/asound.h with kernel sources
tools headers: Sync KVM headers with the kernel sources
tools/arch/arm64/include/uapi/asm/kvm.h | 1 +
tools/arch/powerpc/include/uapi/asm/kvm.h | 18 +
tools/arch/x86/include/asm/cpufeatures.h | 15 +
tools/arch/x86/include/asm/msr-index.h | 9 +-
tools/include/linux/gfp_types.h | 5 +-
tools/include/uapi/linux/if_addr.h | 1 +
tools/include/uapi/linux/kvm.h | 4 +
tools/include/uapi/linux/rtnetlink.h | 25 +
tools/perf/Makefile | 5 +-
tools/perf/Makefile.perf | 3 +
tools/perf/scripts/sync-headers.sh | 1256 +++++++++++++++++
.../perf/trace/beauty/include/linux/socket.h | 11 +-
.../trace/beauty/include/uapi/linux/fcntl.h | 1 +
.../perf/trace/beauty/include/uapi/linux/fs.h | 1 +
.../trace/beauty/include/uapi/linux/mount.h | 1 +
.../trace/beauty/include/uapi/sound/asound.h | 200 +--
16 files changed, 1452 insertions(+), 104 deletions(-)
create mode 100755 tools/perf/scripts/sync-headers.sh
base-commit: 9b435ebe2ddd69af06e6d0bbe52c590179b1ff9f