From: Zi Yan ziy@nvidia.com
Fixed two inputs to check_anon_huge() and one if condition, so the tests work as expected.
Fixes: c07c343cda8e ("selftests/vm: dedup THP helpers") Signed-off-by: Zi Yan ziy@nvidia.com Cc: Zach O'Keefe zokeefe@google.com --- tools/testing/selftests/mm/split_huge_page_test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/mm/split_huge_page_test.c b/tools/testing/selftests/mm/split_huge_page_test.c index 76e1c36dd9e5..b8558c7f1a39 100644 --- a/tools/testing/selftests/mm/split_huge_page_test.c +++ b/tools/testing/selftests/mm/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); }
On Mar 06 11:09, Zi Yan wrote:
From: Zi Yan ziy@nvidia.com
Fixed two inputs to check_anon_huge() and one if condition, so the tests work as expected.
Fixes: c07c343cda8e ("selftests/vm: dedup THP helpers") Signed-off-by: Zi Yan ziy@nvidia.com Cc: Zach O'Keefe zokeefe@google.com
tools/testing/selftests/mm/split_huge_page_test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/mm/split_huge_page_test.c b/tools/testing/selftests/mm/split_huge_page_test.c index 76e1c36dd9e5..b8558c7f1a39 100644 --- a/tools/testing/selftests/mm/split_huge_page_test.c +++ b/tools/testing/selftests/mm/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.39.2
Thanks Zi -- I had this in my TODO-log, but was slow to get it it -- apologies for the clearly buggy code, and thanks for the cleanup. I've ran these tests to confirm (as I should have previously), and it all looks good. Can have either my
Reviewed-by: Zach O'Keefe zokeefe@google.com Tested-by: Zach O'Keefe zokeefe@google.com
I don't know which is more appropriate.
Best, Zach
On 6 Mar 2023, at 13:31, Zach O'Keefe wrote:
On Mar 06 11:09, Zi Yan wrote:
From: Zi Yan ziy@nvidia.com
Fixed two inputs to check_anon_huge() and one if condition, so the tests work as expected.
Fixes: c07c343cda8e ("selftests/vm: dedup THP helpers") Signed-off-by: Zi Yan ziy@nvidia.com Cc: Zach O'Keefe zokeefe@google.com
tools/testing/selftests/mm/split_huge_page_test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/mm/split_huge_page_test.c b/tools/testing/selftests/mm/split_huge_page_test.c index 76e1c36dd9e5..b8558c7f1a39 100644 --- a/tools/testing/selftests/mm/split_huge_page_test.c +++ b/tools/testing/selftests/mm/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.39.2
Thanks Zi -- I had this in my TODO-log, but was slow to get it it -- apologies for the clearly buggy code, and thanks for the cleanup. I've ran these tests to confirm (as I should have previously), and it all looks good. Can have either my
Reviewed-by: Zach O'Keefe zokeefe@google.com Tested-by: Zach O'Keefe zokeefe@google.com
Thanks.
-- Best Regards, Yan, Zi
On 06.03.23 17:09, Zi Yan wrote:
From: Zi Yan ziy@nvidia.com
Fixed two inputs to check_anon_huge() and one if condition, so the tests work as expected.
Fixes: c07c343cda8e ("selftests/vm: dedup THP helpers") Signed-off-by: Zi Yan ziy@nvidia.com Cc: Zach O'Keefe zokeefe@google.com
tools/testing/selftests/mm/split_huge_page_test.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/testing/selftests/mm/split_huge_page_test.c b/tools/testing/selftests/mm/split_huge_page_test.c index 76e1c36dd9e5..b8558c7f1a39 100644 --- a/tools/testing/selftests/mm/split_huge_page_test.c +++ b/tools/testing/selftests/mm/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); }
Hard to read. It should probably be "get_huge_anon()" to then check for the value in the caller manually. Negative value could be used as an indicator for an error obtaining the value.
Anyhow, was briefly confused about the 4 ("magic value" also apprearing in "size_t len = 4 * pmd_pagesize;") but it seems to be the right thing to do.
Acked-by: David Hildenbrand david@redhat.com
linux-kselftest-mirror@lists.linaro.org