From: Usama Anjum <usama.anjum@arm.com>
To: Sarthak Sharma <sarthak.sharma@arm.com>
Cc: usama.anjum@arm.com, Lorenzo Stoakes <ljs@kernel.org>,
"Liam R . Howlett" <liam@infradead.org>,
Vlastimil Babka <vbabka@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
Michal Hocko <mhocko@suse.com>, Shuah Khan <shuah@kernel.org>,
Zi Yan <ziy@nvidia.com>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
Nico Pache <npache@redhat.com>,
Ryan Roberts <ryan.roberts@arm.com>, Dev Jain <dev.jain@arm.com>,
Barry Song <baohua@kernel.org>, Lance Yang <lance.yang@linux.dev>,
Jason Gunthorpe <jgg@ziepe.ca>,
John Hubbard <jhubbard@nvidia.com>, Peter Xu <peterx@redhat.com>,
Leon Romanovsky <leon@kernel.org>,
Jonathan Corbet <corbet@lwn.net>,
Shuah Khan <skhan@linuxfoundation.org>,
Mark Brown <broonie@kernel.org>,
Anshuman Khandual <anshuman.khandual@arm.com>,
linux-mm@kvack.org, linux-kselftest@vger.kernel.org,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
David Hildenbrand <david@kernel.org>
Subject: Re: [PATCH v7 0/6] selftests/mm: separate GUP microbenchmarking from functional testing
Date: Tue, 25 Aug 2026 11:43:26 +0100 [thread overview]
Message-ID: <d63e0faa-77e9-4598-972b-d7d9125cfc23@arm.com> (raw)
In-Reply-To: <20260813181230.483746-1-sarthak.sharma@arm.com>
On 13/08/2026 7:12 pm, Sarthak Sharma wrote:
> gup_test.c currently serves two separate purposes: benchmarking
> (GUP_FAST_BENCHMARK, PIN_FAST_BENCHMARK and PIN_LONGTERM_BENCHMARK) and
> functional testing (GUP_BASIC_TEST, PIN_BASIC_TEST and
> DUMP_USER_PAGES_TEST). Keeping both in one program makes the functional
> tests harder to run and report individually, while run_vmtests.sh has to
> invoke the program repeatedly with different options.
>
> Separate these roles into tools/mm/gup_bench for benchmarking and
> tools/testing/selftests/mm/gup for functional testing. Move the shared
> file and hugepage helpers to tools/lib/mm/ so both programs can use them
> without duplicating the implementation.
>
> Patch 1 makes read_file(), write_file(), read_num(), write_num() and
> write_num_ignore_einval() return errors to their callers instead of
> exiting. It also makes read_num() reject negative and malformed values
> and updates the existing callers to handle failures.
>
> Patch 2 moves these file helpers from vm_util.c to tools/lib/mm/. It keeps
> them available to the mm selftests through vm_util.h and adjusts the
> selftests build accordingly.
>
> Patch 3 moves hugepage_settings.[ch] from selftests/mm to tools/lib/mm/.
> It also removes its kselftest dependency while preserving TAP-compatible
> diagnostics for selftest users.
>
> Patch 4 moves the existing gup_test implementation from selftests/mm to
> tools/mm as gup_bench. This keeps the code movement separate from the
> subsequent changes and makes it easier to review.
>
> Patch 5 removes the functional test modes and kselftest dependency from
> gup_bench. When run without arguments, it performs one GUP_FAST benchmark
> using the existing defaults instead of running the whole matrix. Other
> benchmark configurations can be selected through command-line options.
>
> Patch 6 adds a new harness-based GUP selftest. It covers THP, non-THP and
> HugeTLB mappings across private/shared and read/write variants. For each
> variant, it tests get_user_pages(), get_user_pages_fast(),
> pin_user_pages(), pin_user_pages_fast(), long-term pinning and both dump
> modes using four batch sizes. It also preserves the existing sparse dump
> coverage for pages 0, 19 and 0x1000. The HugeTLB variants share a one-time
> setup of 128 default-sized huge pages.
I tested the full MM selftest suite before and after this series and found
no regressions. The new GUP selftest and gup_bench also passed.
Tested-by: Muhammad Usama Anjum <usama.anjum@arm.com>
Thanks,
Usama
prev parent reply other threads:[~2026-08-25 10:43 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-13 18:12 [PATCH v7 0/6] selftests/mm: separate GUP microbenchmarking from functional testing Sarthak Sharma
2026-08-13 18:12 ` [PATCH v7 1/6] selftests/mm: make file helpers return errors Sarthak Sharma
2026-08-24 7:59 ` Mike Rapoport
2026-08-24 12:17 ` David Hildenbrand (Arm)
2026-08-24 12:27 ` Mark Brown
2026-08-24 12:29 ` David Hildenbrand (Arm)
2026-08-25 8:40 ` Sarthak Sharma
2026-08-25 9:05 ` Usama Anjum
2026-08-25 9:12 ` David Hildenbrand (Arm)
2026-08-13 18:12 ` [PATCH v7 2/6] tools/lib/mm: add shared file helpers Sarthak Sharma
2026-08-24 7:59 ` Mike Rapoport
2026-08-24 12:27 ` David Hildenbrand (Arm)
2026-08-13 18:12 ` [PATCH v7 3/6] tools/lib/mm: move hugepage_settings out of selftests Sarthak Sharma
2026-08-24 7:59 ` Mike Rapoport
2026-08-24 12:32 ` David Hildenbrand (Arm)
2026-08-13 18:12 ` [PATCH v7 4/6] tools/mm: move gup_test from selftests/mm to tools/mm Sarthak Sharma
2026-08-24 7:59 ` Mike Rapoport
2026-08-24 12:33 ` David Hildenbrand (Arm)
2026-08-13 18:12 ` [PATCH v7 5/6] tools/mm: make gup_bench a benchmark only tool Sarthak Sharma
2026-08-24 7:59 ` Mike Rapoport
2026-08-24 12:37 ` David Hildenbrand (Arm)
2026-08-25 8:43 ` Sarthak Sharma
2026-08-13 18:12 ` [PATCH v7 6/6] selftests/mm: add a GUP selftest Sarthak Sharma
2026-08-24 7:59 ` Mike Rapoport
2026-08-24 10:11 ` Sarthak Sharma
2026-08-25 9:26 ` David Hildenbrand (Arm)
2026-08-25 11:09 ` Sarthak Sharma
2026-08-25 11:12 ` David Hildenbrand (Arm)
2026-08-24 4:12 ` [PATCH v7 0/6] selftests/mm: separate GUP microbenchmarking from functional testing Sarthak Sharma
2026-08-25 10:43 ` Usama Anjum [this message]
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=d63e0faa-77e9-4598-972b-d7d9125cfc23@arm.com \
--to=usama.anjum@arm.com \
--cc=akpm@linux-foundation.org \
--cc=anshuman.khandual@arm.com \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=broonie@kernel.org \
--cc=corbet@lwn.net \
--cc=david@kernel.org \
--cc=dev.jain@arm.com \
--cc=jgg@ziepe.ca \
--cc=jhubbard@nvidia.com \
--cc=lance.yang@linux.dev \
--cc=leon@kernel.org \
--cc=liam@infradead.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=ljs@kernel.org \
--cc=mhocko@suse.com \
--cc=npache@redhat.com \
--cc=peterx@redhat.com \
--cc=rppt@kernel.org \
--cc=ryan.roberts@arm.com \
--cc=sarthak.sharma@arm.com \
--cc=shuah@kernel.org \
--cc=skhan@linuxfoundation.org \
--cc=surenb@google.com \
--cc=vbabka@kernel.org \
--cc=ziy@nvidia.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.