From: Zi Yan <ziy@nvidia.com>
To: Sayali Patil <sayalip@linux.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Shuah Khan <shuah@kernel.org>,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
linux-kselftest@vger.kernel.org,
Ritesh Harjani <ritesh.list@gmail.com>,
David Hildenbrand <david@redhat.com>,
Michal Hocko <mhocko@kernel.org>,
Oscar Salvador <osalvador@suse.de>,
Lorenzo Stoakes <lorenzo.stoakes@oracle.com>,
Dev Jain <dev.jain@arm.com>,
Muhammad Usama Anjum <usama.anjum@collabora.com>,
Liam.Howlett@oracle.com
Subject: Re: [PATCH 08/13] selftests/mm: ensure destination is hugetlb-backed in hugepage-mremap
Date: Tue, 10 Mar 2026 15:07:04 -0400 [thread overview]
Message-ID: <71CC3158-F540-4A12-AC14-10655E50B2DF@nvidia.com> (raw)
In-Reply-To: <2c8858154273159f964236810c7304dec665b28b.1773134177.git.sayalip@linux.ibm.com>
On 10 Mar 2026, at 5:49, Sayali Patil wrote:
> The hugepage-mremap selftest reserves the destination address using a
> anonymous base-page mapping before calling mremap() with MREMAP_FIXED,
> while the source region is hugetlb-backed.
>
> When remapping a hugetlb mapping into a base-page VMA may fail with:
>
> mremap: Device or resource busy
>
> This is observed on powerpc hash MMU systems where slice constraints
> and page size incompatibilities prevent the remap.
>
> Ensure the destination region is created using MAP_HUGETLB so that both
> source and destination VMAs are hugetlb-backed and compatible. Also add
> MAP_POPULATE to the destination mapping to prefault hugepages,
> matching the behaviour used for other hugetlb mappiing in the test and
> ensuring deterministic behaviour.
>
> This ensures the test reliably exercises hugetlb mremap instead of
> failing due to VMA type mismatch.
>
> Fixes: 12b613206474 ("mm, hugepages: add hugetlb vma mremap() test")
> Signed-off-by: Sayali Patil <sayalip@linux.ibm.com>
> ---
> tools/testing/selftests/mm/hugepage-mremap.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/mm/hugepage-mremap.c b/tools/testing/selftests/mm/hugepage-mremap.c
> index e611249080d6..9558515c282d 100644
> --- a/tools/testing/selftests/mm/hugepage-mremap.c
> +++ b/tools/testing/selftests/mm/hugepage-mremap.c
> @@ -136,8 +136,8 @@ int main(int argc, char *argv[])
> ksft_exit_fail_msg("mmap3: %s\n", strerror(errno));
>
> suggested_addr = 0x7faa40000000;
> - void *vaddr =
> - mmap((void *)suggested_addr, length, PROTECTION, FLAGS, -1, 0);
> + void *vaddr = mmap((void *)suggested_addr, length, PROTECTION,
> + MAP_HUGETLB | MAP_SHARED | MAP_POPULATE, fd, 0);
FLAGS is only used here, why not change the definition of FLAGS
or remove FLAGS along with your change?
Feel free to add
Acked-by: Zi Yan <ziy@nvidia.com>
after you do either above.
Best Regards,
Yan, Zi
next prev parent reply other threads:[~2026-03-10 19:07 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-10 9:49 [PATCH 00/13] selftests/mm: fix failures and robustness improvements Sayali Patil
2026-03-10 9:49 ` [PATCH 01/13] selftests/mm: restore default nr_hugepages value during cleanup in charge_reserved_hugetlb.sh Sayali Patil
2026-03-10 18:43 ` Zi Yan
2026-03-10 9:49 ` [PATCH 02/13] selftests/mm: fix hugetlb pathname construction " Sayali Patil
2026-03-10 18:54 ` Zi Yan
2026-03-10 9:49 ` [PATCH 03/13] selftests/mm: fix hugetlb pathname construction in hugetlb_reparenting_test.sh Sayali Patil
2026-03-10 18:55 ` Zi Yan
2026-03-10 9:49 ` [PATCH 04/13] selftest/mm: fix cgroup task placement and tolerance " Sayali Patil
2026-03-10 9:49 ` [PATCH 05/13] selftests/mm: size tmpfs according to PMD page size in split_huge_page_test Sayali Patil
2026-03-10 18:59 ` Zi Yan
2026-03-10 9:49 ` [PATCH 06/13] selftest/mm: adjust hugepage-mremap test size for large huge pages Sayali Patil
2026-03-10 19:01 ` Zi Yan
2026-03-10 9:49 ` [PATCH 07/13] selftest/mm: register existing mapping with userfaultfd in hugepage-mremap Sayali Patil
2026-03-10 9:49 ` [PATCH 08/13] selftests/mm: ensure destination is hugetlb-backed " Sayali Patil
2026-03-10 19:07 ` Zi Yan [this message]
2026-03-10 9:49 ` [PATCH 09/13] selftests/mm: skip uffd-wp-mremap if UFFD write-protect is unsupported Sayali Patil
2026-03-10 19:07 ` Zi Yan
2026-03-10 9:49 ` [PATCH 10/13] selftests/mm: skip uffd-stress test when nr_pages_per_cpu is zero Sayali Patil
2026-03-10 19:08 ` Zi Yan
2026-03-10 9:49 ` [PATCH 11/13] selftests/mm: fix double increment in linked list cleanup in compaction_test Sayali Patil
2026-03-10 19:10 ` Zi Yan
2026-03-10 9:49 ` [PATCH 12/13] selftests/mm: move hwpoison setup into run_test() and silence modprobe output for memory-failure category Sayali Patil
2026-03-10 19:15 ` Zi Yan
2026-03-11 2:21 ` Miaohe Lin
2026-03-10 9:49 ` [PATCH 13/13] selftests/cgroup: extend test_hugetlb_memcg.c to support all huge page sizes Sayali Patil
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=71CC3158-F540-4A12-AC14-10655E50B2DF@nvidia.com \
--to=ziy@nvidia.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=dev.jain@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mhocko@kernel.org \
--cc=osalvador@suse.de \
--cc=ritesh.list@gmail.com \
--cc=sayalip@linux.ibm.com \
--cc=shuah@kernel.org \
--cc=usama.anjum@collabora.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