tools/testing/shared/linux/maple_tree.h | 6 ++---- tools/testing/shared/shared.mk | 6 +++++- tools/testing/vma/linux/atomic.h | 17 ----------------- tools/testing/vma/vma_internal.h | 3 ++- 4 files changed, 9 insertions(+), 23 deletions(-)
De-duplicating this lets us delete a bit of code. Ulterior motive: I'm working on a new set of the userspace-based unit tests, which will need the atomics API too. That would involve even more duplication, so while the win in this patchset alone is very minimal, it looks a lot more significant with my other WIP patchset. I've tested these commands: make -C tools/testing/vma -j tools/testing/vma/vma make -C tools/testing/radix-tree -j tools/testing/radix-tree/main Note the EXTRA_CFLAGS patch is actually orthogonal, let me know if you'd prefer I send it separately. Signed-off-by: Brendan Jackman <jackmanb@google.com> --- Brendan Jackman (3): tools: testing: Allow importing arch headers in shared.mk tools: testing: Use existing atomic.h for vma/radix-tree tests tools: testing: Support EXTRA_CFLAGS in shared.mk tools/testing/shared/linux/maple_tree.h | 6 ++---- tools/testing/shared/shared.mk | 6 +++++- tools/testing/vma/linux/atomic.h | 17 ----------------- tools/testing/vma/vma_internal.h | 3 ++- 4 files changed, 9 insertions(+), 23 deletions(-) --- base-commit: fab1beda7597fac1cecc01707d55eadb6bbe773c change-id: 20250827-b4-vma-no-atomic-h-0f8ebc2fe4f9 Best regards, -- Brendan Jackman <jackmanb@google.com>
On Wed, Aug 27, 2025 at 11:04:40AM +0000, Brendan Jackman wrote: > De-duplicating this lets us delete a bit of code. Thanks very much! This is nice stuff. > > Ulterior motive: I'm working on a new set of the userspace-based unit > tests, which will need the atomics API too. That would involve even more > duplication, so while the win in this patchset alone is very minimal, it > looks a lot more significant with my other WIP patchset. I hope that my + Liam's work helped inspire you :) > > I've tested these commands: > > make -C tools/testing/vma -j > tools/testing/vma/vma > > make -C tools/testing/radix-tree -j > tools/testing/radix-tree/main > > Note the EXTRA_CFLAGS patch is actually orthogonal, let me know if you'd > prefer I send it separately. It's fine! Cheers, Lorenzo
On Thu Aug 28, 2025 at 10:28 AM UTC, Lorenzo Stoakes wrote: > On Wed, Aug 27, 2025 at 11:04:40AM +0000, Brendan Jackman wrote: >> De-duplicating this lets us delete a bit of code. > > Thanks very much! This is nice stuff. > >> >> Ulterior motive: I'm working on a new set of the userspace-based unit >> tests, which will need the atomics API too. That would involve even more >> duplication, so while the win in this patchset alone is very minimal, it >> looks a lot more significant with my other WIP patchset. > > I hope that my + Liam's work helped inspire you :) Certainly! Unfortunately after spending most of the last week on it I decided I need to cut my losses for the time being. I can see where it needs to get to but it's hard to say how many more days I'll have to pour into fiddling around splitting headers and moving definitions etc etc etc. This unknown number of days is hard to justify investing right now, given that I think there's a high risk people see the amount of code movement and go "please immediately step away from my codebase": ❯❯ git diff --stat origin/master..buddy-tests include/linux/buddy.h | 58 ++ include/linux/gfp.h | 36 +- include/linux/mm.h | 13 - include/linux/mm_types.h | 103 ++- include/linux/mmzone.h | 942 +------------------- include/linux/mmzone_types.h | 1080 ++++++++++++++++++++++ include/linux/nodemask_types.h | 2 +- include/linux/page-flags.h | 52 +- include/linux/page-isolation.h | 8 - include/trace/events/kmem.h | 1 + kernel/bounds.c | 9 +- mm/Makefile | 2 +- mm/buddy.c | 3618 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ mm/buddy.h | 738 +++++++++++++++ mm/buddy_internal.h | 136 +++ mm/compaction.c | 1 + mm/internal.h | 300 +++---- mm/page_alloc.c | 4403 +++--------------------------------------------------------------------------------------- mm/page_isolation.c | 1 + mm/page_reporting.c | 1 + mm/show_mem.c | 1 + mm/vmstat.c | 1 + tools/include/linux/atomic.h | 19 + tools/include/linux/bitops.h | 9 + tools/include/linux/cache.h | 2 + tools/include/linux/llist.h | 317 +++++++ tools/include/linux/math.h | 12 + tools/include/linux/spinlock.h | 1 + tools/testing/buddy/.gitignore | 7 + tools/testing/buddy/Makefile | 18 + tools/testing/buddy/buddy.c | 40 + tools/testing/buddy/buddy_internal.h | 256 ++++++ tools/testing/buddy/linux/mm_types.h | 54 ++ tools/testing/buddy/linux/mmdebug.h | 13 + tools/testing/buddy/linux/nr_pageflags.h | 12 + tools/testing/buddy/linux/seqlock.h | 5 + tools/testing/shared/linux/lockdep.h | 3 + tools/testing/shared/linux/maple_tree.h | 6 +- tools/testing/shared/shared.mk | 6 +- tools/testing/vma/linux/atomic.h | 17 - tools/testing/vma/vma_internal.h | 3 +- 41 files changed, 6776 insertions(+), 5530 deletions(-) Anyway, at least it resulted in a nice little cleanup for the existing tests. And maybe I'll get back to it soon when I'm back to being frustrated about how hard it is to be sure my page_alloc.c code works.
© 2016 - 2025 Red Hat, Inc.