Re: [patch 0/3] lib: add synthetic MM benchmarks

From: David Hildenbrand (Arm)

Date: Fri Jul 31 2026 - 05:01:19 EST


On 7/31/26 06:26, David Rientjes wrote:
> A blast to the past :)
>

:)

> We've been carrying these synthetic benchmarks in our kernel tree since
> 2009 because they've been helpful to identify regressions in hot paths, as
> well as quantifying any improvements that have been made for new changes.
> Hopefully they can be useful to others as well.
>
> The synthetic benchmarks are run by loading the module at runtime. The
> modprobe will fail intentionally so that the module gets insta-unloaded.
> The test results are emitted to the kernel log.


Ideally we'd have an easy way to actually use them in autoamtic tests.

E.g., loading fails -> error, loading works -> no error (and unload)

>
> Proposed with permission from Christoph.
> ---
> lib/Kconfig.debug | 30 ++++
> lib/Makefile | 3 +
> lib/test_pagealloc.c | 337 ++++++++++++++++++++++++++++++++++++++
> lib/test_slab.c | 375 +++++++++++++++++++++++++++++++++++++++++++
> lib/test_vmstat.c | 95 +++++++++++
> 5 files changed, 840 insertions(+)
> create mode 100644 lib/test_pagealloc.c
> create mode 100644 lib/test_slab.c
> create mode 100644 lib/test_vmstat.c

This looks similar to tools/testing/selftests/mm/test_vmalloc.sh and friends,
that can actually be executed as part of our selftests and do a modprobe.

Can we have similar scripts to execute them?

But I also wonder if these test modules could be placed then in
tools/testing/selftests/mm/ instead (or some subdirectory for test modules).

Last but not least: MAINTAINERS should cover them.

--
Cheers,

David