On 30 Apr 2026, at 11:16, Zi Yan wrote:

> On 29 Apr 2026, at 11:35, Zi Yan wrote:
>
>> Change the requirement to a file system with large folio support and the
>> supported order needs to include PMD_ORDER.
>>
>> Also add tests of opening a file with read write permission and populating
>> folios with writes. Reuse the XFS image from split_huge_page_test.
>>
>> Signed-off-by: Zi Yan <[email protected]>
>> ---
>>  tools/testing/selftests/mm/khugepaged.c   | 131 +++++++++++++++-------
>>  tools/testing/selftests/mm/run_vmtests.sh |  12 +-
>>  2 files changed, 102 insertions(+), 41 deletions(-)
>>

<snip>

>> -static void file_fault(void *p, unsigned long start, unsigned long end)
>> +static void file_fault_common(void *p, unsigned long start, unsigned long 
>> end,
>> +            int madv_ops)
>>  {
>> -    if (madvise(((char *)p) + start, end - start, MADV_POPULATE_READ)) {
>> +    if (madvise(((char *)p) + start, end - start, madv_ops)) {
>>              perror("madvise(MADV_POPULATE_READ");
>
> Sashiko:
> Since madv_ops can now be either MADV_POPULATE_READ or MADV_POPULATE_WRITE,
> will this hardcoded error message be misleading if the write fault path
> fails?
>
> Answer:
> Will send a fixup.


This is the fixup:
From 76e301cf5198f33d07492e224ec627b94902b4b6 Mon Sep 17 00:00:00 2001
From: Zi Yan <[email protected]>
Date: Thu, 30 Apr 2026 11:22:30 -0400
Subject: [PATCH] selftests/mm: khugepaged perror fixup.

Signed-off-by: Zi Yan <[email protected]>
---
 tools/testing/selftests/mm/khugepaged.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/mm/khugepaged.c 
b/tools/testing/selftests/mm/khugepaged.c
index 80b913185c643..97b8fcc490c76 100644
--- a/tools/testing/selftests/mm/khugepaged.c
+++ b/tools/testing/selftests/mm/khugepaged.c
@@ -445,7 +445,10 @@ static void file_fault_common(void *p, unsigned long 
start, unsigned long end,
                int madv_ops)
 {
        if (madvise(((char *)p) + start, end - start, madv_ops)) {
-               perror("madvise(MADV_POPULATE_READ");
+               if (madv_ops == MADV_POPULATE_READ)
+                       perror("madvise(MADV_POPULATE_READ");
+               else if (madv_ops == MADV_POPULATE_WRITE)
+                       perror("madvise(MADV_POPULATE_WRITE");
                exit(EXIT_FAILURE);
        }
 }
-- 
2.53.0



Best Regards,
Yan, Zi

Reply via email to