[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAA1CXcD55JLQfpW8OzzfHsyaVX5cJHO-y7v8miRyL1t3fnejqg@mail.gmail.com>
Date: Fri, 19 Jan 2024 06:11:53 -0700
From: Nico Pache <npache@...hat.com>
To: linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org,
linux-mm@...ck.org
Cc: akpm@...ux-foundation.org, shuah@...nel.org, donettom@...ux.vnet.ibm.com
Subject: Re: [PATCH] selftests: mm: fix map_hugetlb failure on 64K page size systems
NACK.
I accidentally sent an older version of this patch. Following up with V2.
On Fri, Jan 19, 2024 at 5:58 AM Nico Pache <npache@...hat.com> wrote:
>
> On systems with 64k page size and 512M huge page sizes, the allocation
> and test succeeds but errors out at the munmap. As the comment states,
> munmap will failure if its not HUGEPAGE aligned. This is due to the
> length of the mapping being 1/2 the size of the hugepage causing the
> munmap to not be hugepage aligned. Fix this by making the mapping length
> the full hugepage if the hugepage is larger than the length of the
> mapping.
>
> Signed-off-by: Nico Pache <npache@...hat.com>
> ---
> tools/testing/selftests/mm/map_hugetlb.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/tools/testing/selftests/mm/map_hugetlb.c b/tools/testing/selftests/mm/map_hugetlb.c
> index 193281560b61..dcb8095fcd45 100644
> --- a/tools/testing/selftests/mm/map_hugetlb.c
> +++ b/tools/testing/selftests/mm/map_hugetlb.c
> @@ -58,10 +58,16 @@ int main(int argc, char **argv)
> {
> void *addr;
> int ret;
> + size_t maplength;
> size_t length = LENGTH;
> int flags = FLAGS;
> int shift = 0;
>
> + maplength = default_huge_page_size();
> + /* mmap with fail if the length is not page */
> + if (maplength > length)
> + length = maplength;
> +
> if (argc > 1)
> length = atol(argv[1]) << 20;
> if (argc > 2) {
> --
> 2.43.0
>
Powered by blists - more mailing lists