From: Zenghui Yu <zenghui.yu@linux.dev>
To: Kiryl Shutsemau <kirill@shutemov.name>
Cc: Andrew Morton <akpm@linux-foundation.org>,
"David Hildenbrand (Arm)" <david@kernel.org>,
"Lorenzo Stoakes (ARM)" <ljs@kernel.org>,
Mike Rapoport <rppt@kernel.org>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
"Kiryl Shutsemau (Meta)" <kas@kernel.org>,
linux-mm@kvack.org, linux-kselftest@vger.kernel.org,
linux-kernel@vger.kernel.org,
Muhammad Usama Anjum <usama.anjum@arm.com>,
Usama Arif <usama.arif@linux.dev>,
"Nico Pache (Red Hat)" <nico.pache@linux.dev>,
Zi Yan <ziy@nvidia.com>, Barry Song <baohua@kernel.org>,
Dev Jain <dev.jain@arm.com>, Hugh Dickins <hughd@google.com>,
Lance Yang <lance.yang@linux.dev>,
"Liam R. Howlett" <liam@infradead.org>,
Michal Hocko <mhocko@suse.com>,
Ryan Roberts <ryan.roberts@arm.com>,
Shuah Khan <shuah@kernel.org>,
Suren Baghdasaryan <surenb@google.com>,
"Vlastimil Babka (SUSE)" <vbabka@kernel.org>,
Alexander Gordeev <agordeev@linux.ibm.com>,
Jason Gunthorpe <jgg@ziepe.ca>, Leon Romanovsky <leon@kernel.org>,
kernel-team@meta.com
Subject: Re: [PATCH v6 02/19] selftests/mm: skip collapse_compound_extreme() where the PMD is too large
Date: Thu, 8 Oct 2026 19:52:18 +0800 [thread overview]
Message-ID: <5862cddb-a78f-419f-a5a1-15e16a422bf5@linux.dev> (raw)
In-Reply-To: <20260919002451.496763-3-kirill@shutemov.name>
Hi Kiryl,
On 9/19/26 8:24 AM, Kiryl Shutsemau wrote:
> From: "Kiryl Shutsemau (Meta)" <kas@kernel.org>
>
> collapse_compound_extreme() builds a PTE table full of distinct PTE-mapped
> compound pages by cycling hpage_pmd_nr fault-time THPs through mremap. It
> therefore needs hpage_pmd_nr PMD-order allocations in a row. That is fine
> at a 2M PMD (4K base pages) or a 32M one (16K). A 512M PMD -- arm64 with
> 64K base pages -- makes each of those an order-13 allocation, which the
> allocator cannot reliably hand out even once, let alone 8192 times.
>
> The failure is not a quiet one: the case calls ksft_exit_fail_msg(), so the
> whole binary stops and every case after it is lost.
>
> Skip the case where the PMD is larger than 32M. The MADV_COLLAPSE cases
> still cover PMD-order collapse on those configurations, and 4K and 16K
> PMDs are unaffected.
collapse_compound_extreme() failed on an arm64 virtual machines with 16k
pages. The VM has 8GB of memory. Not sure if this is the same issue that
this patch attempts to address.
[root@localhost mm]# ./khugepaged
[ snipped ]
#
# Run test: collapse_full_of_compound (madvise:anon)
# Allocate huge page... OK
# Split huge page leaving single PTE page table full of compound pages... OK
# Collapse PTE table full of compound pages... OK
ok 76 collapse_full_of_compound
#
# Run test: collapse_compound_extreme (khugepaged:anon)
# Construct PTE page table full of different PTE-mapped compound pages
Bail out! Failed to allocate huge page
# 1 skipped test(s) detected. Consider enabling relevant config options to improve coverage.
# Planned tests != run tests (91 != 76)
# Totals: pass:75 fail:0 xfail:0 xpass:0 skip:1 error:0
Thanks,
Zenghui
next prev parent reply other threads:[~2026-10-08 11:53 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-19 0:24 [PATCH v6 00/19] selftests/mm: improve khugepaged coverage Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 01/19] selftests/mm: raise the khugepaged test-case cap Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 02/19] selftests/mm: skip collapse_compound_extreme() where the PMD is too large Kiryl Shutsemau
2026-10-08 11:52 ` Zenghui Yu [this message]
2026-09-19 0:24 ` [PATCH v6 03/19] selftests/mm: scale khugepaged's collapse wait with the PMD size Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 04/19] selftests/mm: skip khugepaged page cache cases without a PMD folio Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 05/19] selftests/mm: make the swap cases' swapout reliable Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 06/19] selftests/mm: stop khugepaged during the MADV_COLLAPSE cases Kiryl Shutsemau
2026-09-23 6:25 ` Baolin Wang
2026-09-19 0:24 ` [PATCH v6 07/19] selftests/mm: move is_backed_by_folio() into vm_util Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 08/19] selftests/mm: add folio-order check for address ranges Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 09/19] selftests/mm: add folio-order detection self-check Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 10/19] selftests/mm: add khugepaged completion barrier helper Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 11/19] selftests/mm: add order-parameterized khugepaged collapse cases Kiryl Shutsemau
2026-09-23 6:50 ` Baolin Wang
2026-09-19 0:24 ` [PATCH v6 12/19] selftests/mm: parameterize the mixed-source collapse case by source order Kiryl Shutsemau
2026-09-23 6:55 ` Baolin Wang
2026-09-19 0:24 ` [PATCH v6 13/19] selftests/mm: cover a shared-source collapse write race Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 14/19] selftests/mm: run every supported collapse order by default Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 15/19] selftests/mm: check that one khugepaged pass collapses one window Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 16/19] selftests/mm: add khugepaged race harness Kiryl Shutsemau
2026-10-08 7:30 ` Zenghui Yu
2026-10-08 8:18 ` Muhammad Usama Anjum
2026-10-08 14:23 ` Zenghui Yu
2026-09-19 0:24 ` [PATCH v6 17/19] selftests/mm: race the collapse of windows with holes Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 18/19] selftests/mm: add memory-pressure threads to the khugepaged race harness Kiryl Shutsemau
2026-09-19 0:24 ` [PATCH v6 19/19] selftests/mm: zap whole PTE tables in " Kiryl Shutsemau
2026-09-20 23:54 ` [PATCH v6 00/19] selftests/mm: improve khugepaged coverage Andrew Morton
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=5862cddb-a78f-419f-a5a1-15e16a422bf5@linux.dev \
--to=zenghui.yu@linux.dev \
--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=kas@kernel.org \
--cc=kernel-team@meta.com \
--cc=kirill@shutemov.name \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox