From: Zi Yan ziy@nvidia.com
[ upstream commit dd63bd7df41a8f9393a2e3ff9157a441c08eb996 ]
Fix two inputs to check_anon_huge() and one if condition, so the tests work as expected.
Steps to reproduce the issue. make headers make -C tools/testing/selftests/vm
Before patching:test fails with a non-zero exit code
~/linux$ sudo tools/testing/selftests/vm/split_huge_page_test \
/dev/null 2>&1;echo $?
1
~/linux$ ./split_huge_page_test No THP is allocated
After patching:
~/linux$ sudo tools/testing/selftests/vm/split_huge_page_test \
/dev/null 2>&1;echo $?
0
~/linux$ sudo tools/testing/selftests/vm/split_huge_page_test Split huge pages successful ...
Link: https://lkml.kernel.org/r/20230306160907.16804-1-zi.yan@sent.com Fixes: c07c343cda8e ("selftests/vm: dedup THP helpers") Cc: stable@vger.kernel.org Signed-off-by: Zi Yan ziy@nvidia.com Reviewed-by: Zach O'Keefe zokeefe@google.com Tested-by: Zach O'Keefe zokeefe@google.com Acked-by: David Hildenbrand david@redhat.com Signed-off-by: Andrew Morton akpm@linux-foundation.org Signed-off-by: Guangming Wang guangming.wang@windriver.com --- tools/testing/selftests/vm/split_huge_page_test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/vm/split_huge_page_test.c b/tools/testing/selftests/vm/split_huge_page_test.c index 76e1c36dd..b8558c7f1 100644 --- a/tools/testing/selftests/vm/split_huge_page_test.c +++ b/tools/testing/selftests/vm/split_huge_page_test.c @@ -106,7 +106,7 @@ void split_pmd_thp(void) for (i = 0; i < len; i++) one_page[i] = (char)i;
- if (!check_huge_anon(one_page, 1, pmd_pagesize)) { + if (!check_huge_anon(one_page, 4, pmd_pagesize)) { printf("No THP is allocated\n"); exit(EXIT_FAILURE); } @@ -122,7 +122,7 @@ void split_pmd_thp(void) }
- if (check_huge_anon(one_page, 0, pmd_pagesize)) { + if (!check_huge_anon(one_page, 0, pmd_pagesize)) { printf("Still AnonHugePages not split\n"); exit(EXIT_FAILURE); } @@ -169,7 +169,7 @@ void split_pte_mapped_thp(void) for (i = 0; i < len; i++) one_page[i] = (char)i;
- if (!check_huge_anon(one_page, 1, pmd_pagesize)) { + if (!check_huge_anon(one_page, 4, pmd_pagesize)) { printf("No THP is allocated\n"); exit(EXIT_FAILURE); }
[ Sasha's backport helper bot ]
Hi,
✅ All tests passed successfully. No issues detected. No action required from the submitter.
The upstream commit SHA1 provided is correct: dd63bd7df41a8f9393a2e3ff9157a441c08eb996
WARNING: Author mismatch between patch and upstream commit: Backport author: Guangming Wangguangming.wang@windriver.com Commit author: Zi Yanziy@nvidia.com
Status in newer kernel trees: 6.14.y | Present (exact SHA1) 6.12.y | Present (exact SHA1) 6.6.y | Present (exact SHA1)
Note: The patch differs from the upstream commit: --- 1: dd63bd7df41a8 ! 1: 11da32ef6e926 selftests/mm: fix split huge page tests @@ Metadata Author: Zi Yan ziy@nvidia.com
## Commit message ## - selftests/mm: fix split huge page tests + selftests/vm: fix split huge page tests + + [ upstream commit dd63bd7df41a8f9393a2e3ff9157a441c08eb996 ]
Fix two inputs to check_anon_huge() and one if condition, so the tests work as expected.
+ Steps to reproduce the issue. + make headers + make -C tools/testing/selftests/vm + + Before patching:test fails with a non-zero exit code + + ~/linux$ sudo tools/testing/selftests/vm/split_huge_page_test \ + > /dev/null 2>&1;echo $? + 1 + + ~/linux$ ./split_huge_page_test + No THP is allocated + + After patching: + + ~/linux$ sudo tools/testing/selftests/vm/split_huge_page_test \ + > /dev/null 2>&1;echo $? + 0 + + ~/linux$ sudo tools/testing/selftests/vm/split_huge_page_test + Split huge pages successful + ... + Link: https://lkml.kernel.org/r/20230306160907.16804-1-zi.yan@sent.com Fixes: c07c343cda8e ("selftests/vm: dedup THP helpers") + Cc: stable@vger.kernel.org Signed-off-by: Zi Yan ziy@nvidia.com Reviewed-by: Zach O'Keefe zokeefe@google.com Tested-by: Zach O'Keefe zokeefe@google.com Acked-by: David Hildenbrand david@redhat.com - Cc: Shuah Khan shuah@kernel.org Signed-off-by: Andrew Morton akpm@linux-foundation.org + Signed-off-by: Guangming Wang guangming.wang@windriver.com
- ## tools/testing/selftests/mm/split_huge_page_test.c ## -@@ tools/testing/selftests/mm/split_huge_page_test.c: void split_pmd_thp(void) + ## tools/testing/selftests/vm/split_huge_page_test.c ## +@@ tools/testing/selftests/vm/split_huge_page_test.c: void split_pmd_thp(void) for (i = 0; i < len; i++) one_page[i] = (char)i;
@@ tools/testing/selftests/mm/split_huge_page_test.c: void split_pmd_thp(void) printf("No THP is allocated\n"); exit(EXIT_FAILURE); } -@@ tools/testing/selftests/mm/split_huge_page_test.c: void split_pmd_thp(void) +@@ tools/testing/selftests/vm/split_huge_page_test.c: void split_pmd_thp(void) }
@@ tools/testing/selftests/mm/split_huge_page_test.c: void split_pmd_thp(void) printf("Still AnonHugePages not split\n"); exit(EXIT_FAILURE); } -@@ tools/testing/selftests/mm/split_huge_page_test.c: void split_pte_mapped_thp(void) +@@ tools/testing/selftests/vm/split_huge_page_test.c: void split_pte_mapped_thp(void) for (i = 0; i < len; i++) one_page[i] = (char)i;
---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.1.y | Success | Success |
On Fri, May 30, 2025 at 12:51:40PM +0800, Guangming Wang wrote:
From: Zi Yan ziy@nvidia.com
[ upstream commit dd63bd7df41a8f9393a2e3ff9157a441c08eb996 ]
Fix two inputs to check_anon_huge() and one if condition, so the tests work as expected.
Steps to reproduce the issue. make headers make -C tools/testing/selftests/vm
Before patching:test fails with a non-zero exit code
~/linux$ sudo tools/testing/selftests/vm/split_huge_page_test \
/dev/null 2>&1;echo $?
1
~/linux$ ./split_huge_page_test No THP is allocated
After patching:
~/linux$ sudo tools/testing/selftests/vm/split_huge_page_test \
/dev/null 2>&1;echo $?
0
~/linux$ sudo tools/testing/selftests/vm/split_huge_page_test Split huge pages successful ...
Link: https://lkml.kernel.org/r/20230306160907.16804-1-zi.yan@sent.com Fixes: c07c343cda8e ("selftests/vm: dedup THP helpers") Cc: stable@vger.kernel.org Signed-off-by: Zi Yan ziy@nvidia.com Reviewed-by: Zach O'Keefe zokeefe@google.com Tested-by: Zach O'Keefe zokeefe@google.com Acked-by: David Hildenbrand david@redhat.com Signed-off-by: Andrew Morton akpm@linux-foundation.org Signed-off-by: Guangming Wang guangming.wang@windriver.com
tools/testing/selftests/vm/split_huge_page_test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/vm/split_huge_page_test.c b/tools/testing/selftests/vm/split_huge_page_test.c index 76e1c36dd..b8558c7f1 100644 --- a/tools/testing/selftests/vm/split_huge_page_test.c +++ b/tools/testing/selftests/vm/split_huge_page_test.c @@ -106,7 +106,7 @@ void split_pmd_thp(void) for (i = 0; i < len; i++) one_page[i] = (char)i;
- if (!check_huge_anon(one_page, 1, pmd_pagesize)) {
- if (!check_huge_anon(one_page, 4, pmd_pagesize)) { printf("No THP is allocated\n"); exit(EXIT_FAILURE); }
@@ -122,7 +122,7 @@ void split_pmd_thp(void) }
- if (check_huge_anon(one_page, 0, pmd_pagesize)) {
- if (!check_huge_anon(one_page, 0, pmd_pagesize)) { printf("Still AnonHugePages not split\n"); exit(EXIT_FAILURE); }
@@ -169,7 +169,7 @@ void split_pte_mapped_thp(void) for (i = 0; i < len; i++) one_page[i] = (char)i;
- if (!check_huge_anon(one_page, 1, pmd_pagesize)) {
- if (!check_huge_anon(one_page, 4, pmd_pagesize)) { printf("No THP is allocated\n"); exit(EXIT_FAILURE); }
-- 2.34.1
As previously stated, we can not take any backports for the stable trees from your company until you have properly changed your development processes.
greg k-h
linux-stable-mirror@lists.linaro.org