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 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.