The Linux Kernel Mailing List
 help / color / mirror / Atom feed
From: "David Hildenbrand (Arm)" <david@kernel.org>
To: David Rientjes <rientjes@google.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Christoph Lameter <cl@gentwo.org>
Cc: Vlastimil Babka <vbabka@kernel.org>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org
Subject: Re: [patch 0/3] lib: add synthetic MM benchmarks
Date: Fri, 31 Jul 2026 11:00:28 +0200	[thread overview]
Message-ID: <cec6f48d-8857-49d6-a24d-b072482bf0c8@kernel.org> (raw)
In-Reply-To: <d6787a7f-3213-2b2c-2de5-af3b02daa21f@google.com>

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

  parent reply	other threads:[~2026-07-31  9:00 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-31  4:26 [patch 0/3] lib: add synthetic MM benchmarks David Rientjes
2026-07-31  4:26 ` [patch 1/3] lib: test_vmstat: add synthetic benchmark for vm stats David Rientjes
2026-08-01 13:20   ` Usama Arif
2026-08-02 23:05     ` David Rientjes
2026-08-02 23:06   ` [patch v2] " David Rientjes
2026-08-07 15:33     ` David Rientjes
2026-07-31  4:26 ` [patch 2/3] lib: test_slab: add synthetic benchmark for slab David Rientjes
2026-07-31  4:27 ` [patch 3/3] lib: test_pagealloc: add synthetic benchmark for page allocator David Rientjes
2026-07-31  9:00 ` David Hildenbrand (Arm) [this message]
2026-08-02 22:19   ` [patch 0/3] lib: add synthetic MM benchmarks David Rientjes
2026-08-05  7:03     ` David Hildenbrand (Arm)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cec6f48d-8857-49d6-a24d-b072482bf0c8@kernel.org \
    --to=david@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=cl@gentwo.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=rientjes@google.com \
    --cc=vbabka@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox