* [PATCH v1] perf clang-format: Prioritize Python.h and expand other categories
@ 2026-05-26 21:39 Ian Rogers
2026-05-26 21:46 ` sashiko-bot
2026-05-26 22:42 ` [PATCH v2] " Ian Rogers
0 siblings, 2 replies; 4+ messages in thread
From: Ian Rogers @ 2026-05-26 21:39 UTC (permalink / raw)
To: Peter Zijlstra, Ingo Molnar, Arnaldo Carvalho de Melo,
Namhyung Kim, Jiri Olsa, Ian Rogers, Adrian Hunter, James Clark,
linux-perf-users, linux-kernel
- Prioritize Python.h by sorting it first (Priority 0).
- Shift other header priorities down to accommodate Python.h.
- Sanity check and complete "C Standard Library Headers" up to C23
(added stdbit.h, stdckdint.h).
- Sanity check and complete "OS/System-Specific Headers" based on
actual usage in tools/perf (added asm-generic, uapi, and various
flat POSIX/system headers).
Signed-off-by: Ian Rogers <irogers@google.com>
Assisted-by: Antigravity:gemini-3.5-flash
---
tools/perf/.clang-format | 19 +++++++++++--------
1 file changed, 11 insertions(+), 8 deletions(-)
diff --git a/tools/perf/.clang-format b/tools/perf/.clang-format
index 902b2f7456f6..68b1c073d070 100644
--- a/tools/perf/.clang-format
+++ b/tools/perf/.clang-format
@@ -2,19 +2,22 @@ BasedOnStyle: InheritParentConfig
SortIncludes: true
IncludeBlocks: Regroup
IncludeCategories:
+ # Python.h must be first
+ - Regex: '^<Python\.h>'
+ Priority: 0
# Implicitly the corresponding header for the C file has Priority 0
# C Standard Library Headers
- - Regex: '^<(assert|complex|ctype|errno|fenv|float|inttypes|iso646|limits|locale|math|setjmp|signal|stdalign|stdarg|stdatomic|stdbool|stddef|stdint|stdio|stdlib|stdnoreturn|string|tgmath|threads|time|uchar|wchar|wctype)\.h>'
- Priority: 1
- # OS/System-Specific Headers (directories)
- - Regex: '^<(sys|linux|asm|arpa|net|netinet|x86_64|machine)/.*>'
+ - Regex: '^<(assert|complex|ctype|errno|fenv|float|inttypes|iso646|limits|locale|math|setjmp|signal|stdalign|stdarg|stdatomic|stdbit|stdbool|stdckdint|stddef|stdint|stdio|stdlib|stdnoreturn|string|tgmath|threads|time|uchar|wchar|wctype)\.h>'
Priority: 2
+ # OS/System-Specific Headers (directories)
+ - Regex: '^<(arpa|asm|asm-generic|linux|machine|net|netinet|sys|uapi|x86_64)/.*>'
+ Priority: 3
# OS/System-Specific Headers (POSIX/System flat headers)
- - Regex: '^<(unistd|pthread|fcntl|dirent|dlfcn|poll|sched|semaphore|spawn|syslog|termios|pwd|grp|netdb|sysexits|err|paths|pty|utmp|resolv|ifaddrs|elf|libelf|gelf)\.h>'
- Priority: 2
+ - Regex: '^<(aio|byteswap|dirent|dlfcn|elf|endian|err|execinfo|fcntl|features|fnmatch|ftw|gelf|getopt|grp|ifaddrs|libelf|libgen|malloc|memory|mntent|netdb|numa|numaif|paths|poll|pthread|pty|pwd|regex|resolv|sched|semaphore|spawn|strings|syscall|sysexits|syslog|termios|unistd|utmp|x86intrin)\.h>'
+ Priority: 3
# Third-Party Library Headers
- Regex: '^<.*>'
- Priority: 3
+ Priority: 4
# Your Project's Other Headers
- Regex: '^".*"'
- Priority: 4
+ Priority: 5
--
2.54.0.823.g6e5bcc1fc9-goog
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v1] perf clang-format: Prioritize Python.h and expand other categories
2026-05-26 21:39 [PATCH v1] perf clang-format: Prioritize Python.h and expand other categories Ian Rogers
@ 2026-05-26 21:46 ` sashiko-bot
2026-05-26 22:42 ` [PATCH v2] " Ian Rogers
1 sibling, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-05-26 21:46 UTC (permalink / raw)
To: Ian Rogers; +Cc: linux-perf-users
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Low] Python.h shares Priority 0 with the implicit main header, failing to guarantee it is strictly sorted first.
--
commit 68559f2bb53c7691fdfd5703129afea21a0050da
Author: Ian Rogers <irogers@google.com>
perf clang-format: Prioritize Python.h and expand other categories
This commit adds Python.h to the clang-format configuration with priority 0 to
ensure it is sorted first. It also expands the standard and system header
categories, shifting their priorities down to accommodate the changes.
> diff --git a/tools/perf/.clang-format b/tools/perf/.clang-format
> index 902b2f7456f61..68b1c073d070b 100644
> --- a/tools/perf/.clang-format
> +++ b/tools/perf/.clang-format
> @@ -2,19 +2,22 @@ BasedOnStyle: InheritParentConfig
> SortIncludes: true
> IncludeBlocks: Regroup
> IncludeCategories:
> + # Python.h must be first
> + - Regex: '^<Python\.h>'
> + Priority: 0
> # Implicitly the corresponding header for the C file has Priority 0
[Severity: Low]
Since the corresponding main header for the C file implicitly has Priority 0,
does assigning Priority 0 to Python.h guarantee it will always be sorted
first?
Because both share the same priority, they are placed in the same include
block and sorted alphabetically. While uppercase 'P' alphabetically precedes
most lowercase filenames, it might not provide the strict overriding
priority intended here.
Would it be safer to assign a negative priority (such as Priority: -1) to
Python.h to strictly guarantee it is placed before the main header?
Additionally, I noticed that the C Standard Library headers were shifted to
Priority 2, leaving Priority 1 completely unused:
> # C Standard Library Headers
> - - Regex: '^<(assert|complex|ctype|errno|fenv|float|inttypes|iso646|limits|locale|math|setjmp|signal|stdalign|stdarg|stdatomic|stdbool|stddef|stdint|stdio|stdlib|stdnoreturn|string|tgmath|threads|time|uchar|wchar|wctype)\.h>'
> - Priority: 1
> + - Regex: '^<(assert|complex|ctype|errno|fenv|float|inttypes|iso646|limits|locale|math|setjmp|signal|stdalign|stdarg|stdatomic|stdbit|stdbool|stdckdint|stddef|stdint|stdio|stdlib|stdnoreturn|string|tgmath|threads|time|uchar|wchar|wctype)\.h>'
> Priority: 2
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260526213911.3993710-1-irogers@google.com?part=1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH v2] perf clang-format: Prioritize Python.h and expand other categories
2026-05-26 21:39 [PATCH v1] perf clang-format: Prioritize Python.h and expand other categories Ian Rogers
2026-05-26 21:46 ` sashiko-bot
@ 2026-05-26 22:42 ` Ian Rogers
2026-05-26 22:48 ` sashiko-bot
1 sibling, 1 reply; 4+ messages in thread
From: Ian Rogers @ 2026-05-26 22:42 UTC (permalink / raw)
To: irogers, acme, namhyung
Cc: adrian.hunter, james.clark, jolsa, linux-kernel, linux-perf-users,
mingo, peterz
- Prioritize Python.h by sorting it first (Priority 0).
- Shift other header priorities down to accommodate Python.h.
- Sanity check and complete "C Standard Library Headers" up to C23
(added stdbit.h, stdckdint.h).
- Sanity check and complete "OS/System-Specific Headers" based on
actual usage in tools/perf (added asm-generic, uapi, and various
flat POSIX/system headers).
Signed-off-by: Ian Rogers <irogers@google.com>
Assisted-by: Antigravity:gemini-3.5-flash
---
tools/perf/.clang-format | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/tools/perf/.clang-format b/tools/perf/.clang-format
index 902b2f7456f6..e4cff363a603 100644
--- a/tools/perf/.clang-format
+++ b/tools/perf/.clang-format
@@ -2,15 +2,18 @@ BasedOnStyle: InheritParentConfig
SortIncludes: true
IncludeBlocks: Regroup
IncludeCategories:
+ # Python.h must be first
+ - Regex: '^<Python\.h>'
+ Priority: -1
# Implicitly the corresponding header for the C file has Priority 0
# C Standard Library Headers
- - Regex: '^<(assert|complex|ctype|errno|fenv|float|inttypes|iso646|limits|locale|math|setjmp|signal|stdalign|stdarg|stdatomic|stdbool|stddef|stdint|stdio|stdlib|stdnoreturn|string|tgmath|threads|time|uchar|wchar|wctype)\.h>'
+ - Regex: '^<(assert|complex|ctype|errno|fenv|float|inttypes|iso646|limits|locale|math|setjmp|signal|stdalign|stdarg|stdatomic|stdbit|stdbool|stdckdint|stddef|stdint|stdio|stdlib|stdnoreturn|string|tgmath|threads|time|uchar|wchar|wctype)\.h>'
Priority: 1
# OS/System-Specific Headers (directories)
- - Regex: '^<(sys|linux|asm|arpa|net|netinet|x86_64|machine)/.*>'
+ - Regex: '^<(arpa|asm|asm-generic|linux|machine|net|netinet|sys|uapi|x86_64)/.*>'
Priority: 2
# OS/System-Specific Headers (POSIX/System flat headers)
- - Regex: '^<(unistd|pthread|fcntl|dirent|dlfcn|poll|sched|semaphore|spawn|syslog|termios|pwd|grp|netdb|sysexits|err|paths|pty|utmp|resolv|ifaddrs|elf|libelf|gelf)\.h>'
+ - Regex: '^<(aio|byteswap|dirent|dlfcn|elf|endian|err|execinfo|fcntl|features|fnmatch|ftw|gelf|getopt|grp|ifaddrs|libelf|libgen|malloc|memory|mntent|netdb|numa|numaif|paths|poll|pthread|pty|pwd|regex|resolv|sched|semaphore|spawn|strings|syscall|sysexits|syslog|termios|unistd|utmp|x86intrin)\.h>'
Priority: 2
# Third-Party Library Headers
- Regex: '^<.*>'
--
2.54.0.823.g6e5bcc1fc9-goog
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] perf clang-format: Prioritize Python.h and expand other categories
2026-05-26 22:42 ` [PATCH v2] " Ian Rogers
@ 2026-05-26 22:48 ` sashiko-bot
0 siblings, 0 replies; 4+ messages in thread
From: sashiko-bot @ 2026-05-26 22:48 UTC (permalink / raw)
To: Ian Rogers; +Cc: linux-perf-users
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] The commit message contradicts the actual patch implementation regarding header sorting priorities.
--
commit 6df1a36d29968fecb941bfb94a7d676143f46552
Author: Ian Rogers <irogers@google.com>
perf clang-format: Prioritize Python.h and expand other categories
This commit updates the .clang-format rules for the perf tools. It
prioritizes Python.h sorting and expands the regex lists for C standard
library and OS specific headers.
> - Prioritize Python.h by sorting it first (Priority 0).
> - Shift other header priorities down to accommodate Python.h.
[Severity: Medium]
Is this description accurate regarding the patch implementation?
The commit message states Python.h is set to Priority 0 and other
priorities are shifted down. However, the patch actually assigns
Priority -1 to Python.h and leaves the other categories at their
original priorities (1 and 2).
Setting the priority to -1 also means Python.h will be sorted before
the C file's main header, which implicitly has Priority 0.
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260526224241.4016312-1-irogers@google.com?part=1
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-05-26 22:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-26 21:39 [PATCH v1] perf clang-format: Prioritize Python.h and expand other categories Ian Rogers
2026-05-26 21:46 ` sashiko-bot
2026-05-26 22:42 ` [PATCH v2] " Ian Rogers
2026-05-26 22:48 ` sashiko-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox