[PATCH] selftest/vm: Use correct PAGE_SHIFT value for ppc64

Shuah Khan skhan at linuxfoundation.org
Thu Feb 10 06:53:53 AEDT 2022


On 2/9/22 8:43 AM, Aneesh Kumar K.V wrote:
> Keep it simple by using a #define and limiting hugepage size to 2M.
> This keeps the test simpler instead of dynamically finding the page size
> and huge page size.
> 
> Without this tests are broken w.r.t reading /proc/self/pagemap
> 
> 	if (pread(pagemap_fd, ent, sizeof(ent),
> 			(uintptr_t)ptr >> (PAGE_SHIFT - 3)) != sizeof(ent))
> 		err(2, "read pagemap");
> 
> Cc: Shuah Khan <shuah at kernel.org>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
> ---
>   tools/testing/selftests/vm/ksm_tests.c        | 8 ++++++++
>   tools/testing/selftests/vm/transhuge-stress.c | 8 ++++++++
>   2 files changed, 16 insertions(+)
> 
> diff --git a/tools/testing/selftests/vm/ksm_tests.c b/tools/testing/selftests/vm/ksm_tests.c
> index 1436e1a9a3d3..8200328ff018 100644
> --- a/tools/testing/selftests/vm/ksm_tests.c
> +++ b/tools/testing/selftests/vm/ksm_tests.c
> @@ -22,8 +22,16 @@
>   #define KSM_MERGE_ACROSS_NODES_DEFAULT true
>   #define MB (1ul << 20)
>   
> +#ifdef __powerpc64__
> +#define PAGE_SHIFT	16
> +/*
> + * This will only work with radix 2M hugepage size
> + */
> +#define HPAGE_SHIFT 21
> +#else
>   #define PAGE_SHIFT 12
>   #define HPAGE_SHIFT 21
> +#endif
>   
>   #define PAGE_SIZE (1 << PAGE_SHIFT)
>   #define HPAGE_SIZE (1 << HPAGE_SHIFT)
> diff --git a/tools/testing/selftests/vm/transhuge-stress.c b/tools/testing/selftests/vm/transhuge-stress.c
> index 5e4c036f6ad3..f04c8aa4bcf6 100644
> --- a/tools/testing/selftests/vm/transhuge-stress.c
> +++ b/tools/testing/selftests/vm/transhuge-stress.c
> @@ -16,8 +16,16 @@
>   #include <string.h>
>   #include <sys/mman.h>
>   
> +#ifdef __powerpc64__
> +#define PAGE_SHIFT	16
> +/*
> + * This will only work with radix 2M hugepage size
> + */
> +#define HPAGE_SHIFT 21

Why not have this is in common code?

> +#else
>   #define PAGE_SHIFT 12
>   #define HPAGE_SHIFT 21

Same here.

> +#endif
>   
>   #define PAGE_SIZE (1 << PAGE_SHIFT)
>   #define HPAGE_SIZE (1 << HPAGE_SHIFT)
> 

Please cc linux-kselftest mailing list in the future.

With the above fixed.

Reviewed-by: Shuah Khan <skhan at linuxfoundation.org>

thanks,
-- Shuah



More information about the Linuxppc-dev mailing list