Linux-mm Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "David Hildenbrand (Arm)" <david@kernel.org>
To: Sarthak Sharma <sarthak.sharma@arm.com>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: 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
Subject: Re: [PATCH v7 6/6] selftests/mm: add a GUP selftest
Date: Tue, 25 Aug 2026 11:26:33 +0200	[thread overview]
Message-ID: <787b5acb-978c-453a-be81-812269f47f40@kernel.org> (raw)
In-Reply-To: <20260813181230.483746-7-sarthak.sharma@arm.com>


> diff --git a/Documentation/core-api/pin_user_pages.rst b/Documentation/core-api/pin_user_pages.rst
> index c16ca163b55e..1564b16994ad 100644
> --- a/Documentation/core-api/pin_user_pages.rst
> +++ b/Documentation/core-api/pin_user_pages.rst
> @@ -228,12 +228,18 @@ Unit testing
>  ============
>  This file::
>  
> - tools/testing/selftests/mm/gup_test.c
> + tools/testing/selftests/mm/gup.c
>  
> -has the following new calls to exercise the new pin*() wrapper functions:
> +contains the following test cases to exercise pin_user_pages*():
>  
> -* PIN_FAST_BENCHMARK (./gup_test -a)
> -* PIN_BASIC_TEST (./gup_test -b)
> +* pin_user_pages via PIN_BASIC_TEST
> +* pin_user_pages_fast via PIN_FAST_BENCHMARK
> +* pin_user_pages_longterm via PIN_LONGTERM_BENCHMARK
> +
> +Run with::
> +
> +  make -C tools/testing/selftests/mm
> +  ./tools/testing/selftests/mm/gup
>  

Can we just remove that testing part in that doc completely in an earlier patch?
I don't really see the reason for documenting selftests that way.

In particular, now that it's a proper standalone selftest.

>  You can monitor how many total dma-pinned pages have been acquired and released
>  since the system was booted, via two new /proc/vmstat entries: ::
> diff --git a/MAINTAINERS b/MAINTAINERS
> index ed9a8549ae31..861504fa2e31 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -17032,6 +17032,7 @@ F:	mm/gup.c
>  F:	mm/gup_test.c
>  F:	mm/gup_test.h
>  F:	tools/mm/gup_bench.c
> +F:	tools/testing/selftests/mm/gup.c
>  F:	tools/testing/selftests/mm/gup_longterm.c

[...]

> +TEST_F(gup_test, dump_user_pages_with_get)
> +{
> +	run_gup_cmd(_metadata, self, variant, DUMP_USER_PAGES_TEST, 0, 1);
> +}
> +
> +TEST_F(gup_test, dump_user_pages_with_pin)
> +{
> +	run_gup_cmd(_metadata, self, variant, DUMP_USER_PAGES_TEST,
> +		    GUP_TEST_FLAG_DUMP_PAGES_USE_PIN, 1);
> +}

I really don't like DUMP_USER_PAGES_TEST: running the selftests just fills the
kernel log with useless information. And it's not like there is real value to it
beyond what the other tests are already testing.

... or that we would verify automatically what is being dumped makes any sense.

I'd vote to not add selftests that use it.

It was added in

commit f4f9bda418ab8b4dbc5372e9e2a28162f7777154
Author: John Hubbard <jhubbard@nvidia.com>
Date:   Mon Dec 14 19:05:21 2020 -0800

    selftests/vm: gup_test: introduce the dump_pages() sub-test

    For quite a while, I was doing a quick hack to gup_test.c (previously,
    gup_benchmark.c) whenever I wanted to try out my changes to dump_page().
    This makes that hack unnecessary, and instead allows anyone to easily get
    the same coverage from a user space program.  That saves a lot of time
    because you don't have to change the kernel, in order to test different
    pages and options.

    The new sub-test takes advantage of the existing gup_test infrastructure,
    which already provides a simple user space program, some allocated user
    space pages, an ioctl call, pinning of those pages (via either
    get_user_pages or pin_user_pages) and a corresponding kernel-side test
    invocation.  There's not much more required, mainly just a couple of
    inputs from the user.

    In fact, the new test re-uses the existing command line options in order
    to get various helpful combinations (THP or normal, _fast or slow gup, gup
    vs.  pup, and more).


I can see why we might want a dedicated dump_page/dump_folio test that either

(1) Is ran automatically and actually verifies (somehow automatically) what is
being dumped checks out. More tricky.

(2) Is ran manually by a suer that verifies whether what is being dumped checked
out. More feasible.

But as is, for an automated test this doesn't make sense.

Maybe we'd want a dedicated dump_page test tool in tools/mm that would make use
of DUMP_USER_PAGES_TEST. But maybe we also want to remove DUMP_USER_PAGES_TEST
entirely and have a different way to trigger+test this.

Ideally we'd have a proper automated dump_page test that actually checks
expected output (somehow).

-- 
Cheers,

David


  parent reply	other threads:[~2026-08-25  9:26 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) [this message]
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

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=787b5acb-978c-453a-be81-812269f47f40@kernel.org \
    --to=david@kernel.org \
    --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=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox