diff options
author | Mike Kravetz <[email protected]> | 2022-11-03 18:16:32 -0700 |
---|---|---|
committer | Andrew Morton <[email protected]> | 2022-11-30 15:58:46 -0800 |
commit | 634ba645f9bc888227ca954ea643579268d1b6d8 (patch) | |
tree | a6c71810e35c6f7c5308a5d3f1ddaeed2c911bfc | |
parent | 65917b538bcc4d8c0d8e199a6f7b7426acf13d58 (diff) |
selftests/vm: update hugetlb madvise
Commit 8ebe0a5eaaeb ("mm,madvise,hugetlb: fix unexpected data loss with
MADV_DONTNEED on hugetlbfs") changed how the passed length was interpreted
for hugetlb mappings. It was changed from align up to align down. The
hugetlb-madvise test explicitly tests this behavior. Change test to
expect new behavior.
Link: https://lkml.kernel.org/r/[email protected]
Link: https://lore.kernel.org/oe-lkp/[email protected]
Signed-off-by: Mike Kravetz <[email protected]>
Reported-by: kernel test robot <[email protected]>
Cc: David Hildenbrand <[email protected]>
Cc: Rik van Riel <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
-rw-r--r-- | tools/testing/selftests/vm/hugetlb-madvise.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/tools/testing/selftests/vm/hugetlb-madvise.c b/tools/testing/selftests/vm/hugetlb-madvise.c index f96435b70986..a634f47d1e56 100644 --- a/tools/testing/selftests/vm/hugetlb-madvise.c +++ b/tools/testing/selftests/vm/hugetlb-madvise.c @@ -195,7 +195,7 @@ int main(int argc, char **argv) exit(1); } - /* addr + length should be aligned up to huge page size */ + /* addr + length should be aligned down to huge page size */ if (madvise(addr, ((NR_HUGE_PAGES - 1) * huge_page_size) + base_page_size, MADV_DONTNEED)) { @@ -203,10 +203,11 @@ int main(int argc, char **argv) exit(1); } - /* should free all pages in mapping */ - validate_free_pages(free_hugepages); + /* should free all but last page in mapping */ + validate_free_pages(free_hugepages - 1); (void)munmap(addr, NR_HUGE_PAGES * huge_page_size); + validate_free_pages(free_hugepages); /* * Test MADV_DONTNEED on anonymous private mapping |