Linux Perf Users
 help / color / mirror / Atom feed
* [PATCH v3 00/10] perf tools: Add a script to sync the header copies with the kernel sources
@ 2026-10-22 18:24 Arnaldo Carvalho de Melo
  2026-10-22 18:24 ` [PATCH v3 01/10] perf tools: Add script and make target to sync the header copies with the kernel Arnaldo Carvalho de Melo
                   ` (10 more replies)
  0 siblings, 11 replies; 22+ messages in thread
From: Arnaldo Carvalho de Melo @ 2026-10-22 18:24 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Ingo Molnar, Thomas Gleixner, James Clark, Jiri Olsa, Ian Rogers,
	Adrian Hunter, Clark Williams, linux-perf-users,
	Arnaldo Carvalho de Melo, Amit Machhiwal, Borislav Petkov,
	Christian Brauner, Congkai Tan, Ewan Hai-oc, Hemanth Selam,
	Kir Kolyshkin, Kiryl Shutsemau, Maciej Strozek, Ricardo Neri,
	Takashi Iwai, Yuyang Huang

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-10 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.

The kernel is the source of truth, but a sync is skipped when only the
tools/ copy changed or when the copy carries intentional edits, and when
both sides have content the other lacks it stops for a manual look (as
with gfp_types.h and msr-index.h, left out of this series for manual
handling); '--force' can then sync and record in the commit the tools/
additions that are dropped.

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
go to tools/ first, with the kernel picking them up later, so the script
sees that only the tools/ copy changed since the last sync and leaves
those alone.

Best regards,

- Arnaldo

What changed from v2 (593c116cb5ff1ea4):

  - 10 patches: the gfp_types.h and msr-index.h syncs are left out for a
    manual investigation.
  - A tools/ copy ahead of the kernel is left alone; a copy that diverged
    stops for a manual look, --force lists the tools/ lines it drops (sashiko).
  - Copies with intentional edits are not synced: their kernel commits and
    Cc list are printed for a manual sync (sashiko).
  - Beauty scripts taking an output file are run with a temp file, and the
    script/header mapping comes from the Build files (sashiko).
  - Merges that brought content of their own since the last sync are
    credited, e.g. a capability renumbered to avoid clashing with another.
  - PATCH 04/10, 05/10 and 09/10 have new subjects; 05/10 keeps Mahe
    Tardy's Acked-by.

What changed from v1 (e038fb24a0925576):

  - PATCH 05/10 (was 07/12) carries Mahe Tardy's Acked-by, no code change.
  - v1 was posted with only the files matching '000*.patch', which stops at
    0009, so 10/12 to 12/12 were never sent.

Arnaldo Carvalho de Melo (10):
  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 arch x86: Sync the cpufeatures.h copy with the kernel sources
  tools headers: Sync 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 the 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/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                 | 1676 ++++++++++++++++++++
 tools/perf/trace/beauty/include/linux/socket.h     |   11 +-
 tools/perf/trace/beauty/include/uapi/linux/fcntl.h |    1 +
 tools/perf/trace/beauty/include/uapi/linux/fs.h    |    1 +
 tools/perf/trace/beauty/include/uapi/linux/mount.h |    1 +
 .../perf/trace/beauty/include/uapi/sound/asound.h  |  200 +--
 14 files changed, 1867 insertions(+), 95 deletions(-)
 create mode 100755 tools/perf/scripts/sync-headers.sh

base-commit: 1c90f0a3c8a1c4e38f9edd97af9e20848805a7fb
v2-head: 593c116cb5ff1ea4
v1-head: e038fb24a0925576ac82b065f32b3c72bebe4b62

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2026-10-22 22:00 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-22 18:24 [PATCH v3 00/10] perf tools: Add a script to sync the header copies with the kernel sources Arnaldo Carvalho de Melo
2026-10-22 18:24 ` [PATCH v3 01/10] perf tools: Add script and make target to sync the header copies with the kernel Arnaldo Carvalho de Melo
2026-10-22 18:36   ` sashiko-bot
2026-10-22 18:24 ` [PATCH v3 02/10] tools headers UAPI: Sync linux/if_addr.h with the kernel sources Arnaldo Carvalho de Melo
2026-10-22 18:28   ` sashiko-bot
2026-10-22 18:24 ` [PATCH v3 03/10] tools headers UAPI: Sync linux/rtnetlink.h " Arnaldo Carvalho de Melo
2026-10-22 18:28   ` sashiko-bot
2026-10-22 18:24 ` [PATCH v3 04/10] tools arch x86: Sync the cpufeatures.h copy " Arnaldo Carvalho de Melo
2026-10-22 18:35   ` sashiko-bot
2026-10-22 18:24 ` [PATCH v3 05/10] tools headers: Sync linux/socket.h " Arnaldo Carvalho de Melo
2026-10-22 18:30   ` sashiko-bot
2026-10-22 18:24 ` [PATCH v3 06/10] tools headers: Sync UAPI linux/fcntl.h " Arnaldo Carvalho de Melo
2026-10-22 18:28   ` sashiko-bot
2026-10-22 18:24 ` [PATCH v3 07/10] tools headers: Sync UAPI linux/fs.h " Arnaldo Carvalho de Melo
2026-10-22 18:32   ` sashiko-bot
2026-10-22 18:24 ` [PATCH v3 08/10] tools headers: Sync UAPI linux/mount.h " Arnaldo Carvalho de Melo
2026-10-22 18:29   ` sashiko-bot
2026-10-22 18:24 ` [PATCH v3 09/10] tools headers: Sync UAPI sound/asound.h " Arnaldo Carvalho de Melo
2026-10-22 18:28   ` sashiko-bot
2026-10-22 18:24 ` [PATCH v3 10/10] tools headers: Sync KVM headers " Arnaldo Carvalho de Melo
2026-10-22 18:28   ` sashiko-bot
2026-10-22 22:00 ` [PATCH v3 00/10] perf tools: Add a script to sync the header copies " Ian Rogers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox