From: Kiryl Shutsemau <kirill@shutemov.name>
To: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: akpm@linux-foundation.org, david@kernel.org, ljs@kernel.org,
rppt@kernel.org, linux-mm@kvack.org,
linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org,
usama.anjum@arm.com, usama.arif@linux.dev, nico.pache@linux.dev,
ziy@nvidia.com, baohua@kernel.org, dev.jain@arm.com,
hughd@google.com, lance.yang@linux.dev, liam@infradead.org,
mhocko@suse.com, ryan.roberts@arm.com, shuah@kernel.org,
surenb@google.com, vbabka@kernel.org, agordeev@linux.ibm.com,
jgg@ziepe.ca, leon@kernel.org, kernel-team@meta.com
Subject: Re: [PATCH v5 08/19] selftests/mm: add folio-order check for address ranges
Date: Thu, 10 Sep 2026 14:04:35 +0100 [thread overview]
Message-ID: <aqKqr62-718Vw35k@thinkstation> (raw)
In-Reply-To: <65bf1722-c1fd-452a-88c1-c030b042cfbc@linux.alibaba.com>
On Thu, Sep 10, 2026 at 07:14:42PM +0800, Baolin Wang wrote:
>
>
> On 9/10/26 6:45 PM, Kiryl Shutsemau wrote:
> > On Wed, Sep 09, 2026 at 06:01:13PM +0800, Baolin Wang wrote:
> > >
> > >
> > > On 9/8/26 8:50 PM, Kiryl Shutsemau wrote:
> > > > From: "Kiryl Shutsemau (Meta)" <kas@kernel.org>
> > > >
> > > > An mTHP collapse test needs to know that a range is backed by folios of the
> > > > target order, and that they sit where a collapse would put them. Nothing
> > > > answers that today: is_backed_by_folio() classifies the folio behind a
> > > > single page, and check_huge_anon() reads smaps AnonHugePages, which only
> > > > accounts PMD mappings.
> > >
> > > Have you checked check_large_folios() in vm_util.c? It seems to meet your
> > > requirements, or am I missing something?
> >
> > The changelog is out of date, sorry: since 6dedaf0d46a9 check_huge_anon()
> > counts mTHP folios through check_large_folios() rather than reading
> > smaps, and it is what check_huge() already uses for mthp_khugepaged.
> >
> > It could do this job too, called once per window.
> >
> > What is_range_backed_by_order() adds is alignment check: the folio has
> > to sit at the window start. And check_large_folios() reopens two fds per
> > per call which kinda wasteful.
>
> OK. But can we extend the check_huge_xxx() functions to meet your
> requirements, for example by adding a check_aligned_huge_xxx() that wraps
> the underlying implementation of check_large_folios()?
>
> I still find it confusing that khugepaged.c has two separate sets of
> functions for checking large folios.
Agreed that two sets is one too many. Yeoreum's series rewrites
check_huge_xxx() on top of pagemap and kpageflags, which is what
is_backed_by_folio() already walks, so once that lands the two can meet:
the mTHP branch of check_huge() checks each window for a folio of the
order at its start, and is_range_backed_by_order() goes away or becomes
its internal. That also makes the generic mTHP cases stricter for free.
I would rather do that as a follow-up than fold it into either series
now, since both touch the same functions.
--
Kiryl Shutsemau / Kirill A. Shutemov
next prev parent reply other threads:[~2026-09-10 13:04 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-08 12:50 [PATCH v5 00/19] selftests/mm: improve khugepaged coverage Kiryl Shutsemau
2026-09-08 12:50 ` [PATCH v5 01/19] selftests/mm: raise the khugepaged test-case cap Kiryl Shutsemau
2026-09-09 7:42 ` Baolin Wang
2026-09-08 12:50 ` [PATCH v5 02/19] selftests/mm: skip collapse_compound_extreme() where the PMD is too large Kiryl Shutsemau
2026-09-09 7:51 ` Baolin Wang
2026-09-08 12:50 ` [PATCH v5 03/19] selftests/mm: scale khugepaged's collapse wait with the PMD size Kiryl Shutsemau
2026-09-09 7:59 ` Baolin Wang
2026-09-09 10:09 ` Kiryl Shutsemau
2026-09-09 10:17 ` Baolin Wang
2026-09-08 12:50 ` [PATCH v5 04/19] selftests/mm: skip khugepaged page cache cases without a PMD folio Kiryl Shutsemau
2026-09-09 8:21 ` Baolin Wang
2026-09-08 12:50 ` [PATCH v5 05/19] selftests/mm: make the swap cases' swapout reliable Kiryl Shutsemau
2026-09-09 8:59 ` Baolin Wang
2026-09-08 12:50 ` [PATCH v5 06/19] selftests/mm: stop khugepaged during the MADV_COLLAPSE cases Kiryl Shutsemau
2026-09-09 9:55 ` Baolin Wang
2026-09-09 10:41 ` Kiryl Shutsemau
2026-09-10 6:27 ` Baolin Wang
2026-09-10 10:59 ` Kiryl Shutsemau
2026-09-10 11:06 ` Baolin Wang
2026-09-08 12:50 ` [PATCH v5 07/19] selftests/mm: move is_backed_by_folio() into vm_util Kiryl Shutsemau
2026-09-09 9:16 ` Baolin Wang
2026-09-08 12:50 ` [PATCH v5 08/19] selftests/mm: add folio-order check for address ranges Kiryl Shutsemau
2026-09-09 10:01 ` Baolin Wang
2026-09-10 10:45 ` Kiryl Shutsemau
2026-09-10 11:14 ` Baolin Wang
2026-09-10 13:04 ` Kiryl Shutsemau [this message]
2026-09-11 2:50 ` Baolin Wang
2026-09-08 12:50 ` [PATCH v5 09/19] selftests/mm: add folio-order detection self-check Kiryl Shutsemau
2026-09-08 12:50 ` [PATCH v5 10/19] selftests/mm: add khugepaged completion barrier helper Kiryl Shutsemau
2026-09-10 1:17 ` Baolin Wang
2026-09-08 12:50 ` [PATCH v5 11/19] selftests/mm: add order-parameterized khugepaged collapse cases Kiryl Shutsemau
2026-09-10 4:59 ` Baolin Wang
2026-09-10 10:53 ` Kiryl Shutsemau
2026-09-08 12:50 ` [PATCH v5 12/19] selftests/mm: parameterize the mixed-source collapse case by source order Kiryl Shutsemau
2026-09-10 5:09 ` Baolin Wang
2026-09-10 10:58 ` Kiryl Shutsemau
2026-09-08 12:50 ` [PATCH v5 13/19] selftests/mm: cover a shared-source collapse write race Kiryl Shutsemau
2026-09-08 21:02 ` Kiryl Shutsemau
2026-09-08 12:51 ` [PATCH v5 14/19] selftests/mm: run every supported collapse order by default Kiryl Shutsemau
2026-09-10 6:07 ` Baolin Wang
2026-09-08 12:51 ` [PATCH v5 15/19] selftests/mm: check that one khugepaged pass collapses one window Kiryl Shutsemau
2026-09-08 12:51 ` [PATCH v5 16/19] selftests/mm: add khugepaged race harness Kiryl Shutsemau
2026-09-08 21:34 ` Kiryl Shutsemau
2026-09-08 12:51 ` [PATCH v5 17/19] selftests/mm: race the collapse of windows with holes Kiryl Shutsemau
2026-09-08 12:51 ` [PATCH v5 18/19] selftests/mm: add memory-pressure threads to the khugepaged race harness Kiryl Shutsemau
2026-09-08 12:51 ` [PATCH v5 19/19] selftests/mm: zap whole PTE tables in " Kiryl Shutsemau
2026-09-08 19:41 ` [PATCH v5 00/19] selftests/mm: improve khugepaged coverage Andrew Morton
2026-09-08 21:36 ` Kiryl Shutsemau
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=aqKqr62-718Vw35k@thinkstation \
--to=kirill@shutemov.name \
--cc=agordeev@linux.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=baohua@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=david@kernel.org \
--cc=dev.jain@arm.com \
--cc=hughd@google.com \
--cc=jgg@ziepe.ca \
--cc=kernel-team@meta.com \
--cc=lance.yang@linux.dev \
--cc=leon@kernel.org \
--cc=liam@infradead.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=nico.pache@linux.dev \
--cc=rppt@kernel.org \
--cc=ryan.roberts@arm.com \
--cc=shuah@kernel.org \
--cc=surenb@google.com \
--cc=usama.anjum@arm.com \
--cc=usama.arif@linux.dev \
--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.