On Wed, 2017-04-05 at 10:49 +0530, Anshuman Khandual wrote:
> This just adds user space exported ABI definitions for 2MB, 16MB, 1GB,
> 16GB non default huge page sizes to be used with mmap() system call.
> 
> Signed-off-by: Anshuman Khandual <khand...@linux.vnet.ibm.com>
> ---
> These defined values will be used along with MAP_HUGETLB while calling
> mmap() system call if the desired HugeTLB page size is not the default
> one. Follows similar definitions present in x86.
> 
> arch/x86/include/uapi/asm/mman.h:#define MAP_HUGE_2MB    (21 << 
> MAP_HUGE_SHIFT)
> arch/x86/include/uapi/asm/mman.h:#define MAP_HUGE_1GB    (30 << 
> MAP_HUGE_SHIFT)
> 
> Changes in V2:
> - Added definitions for 2MB and 1GB HugeTLB pages per Aneesh

I think it also helps if you mention these are used in bits 26:31 (6 bits)
to encode the size.

> 
>  arch/powerpc/include/uapi/asm/mman.h | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/arch/powerpc/include/uapi/asm/mman.h 
> b/arch/powerpc/include/uapi/asm/mman.h
> index 03c06ba..3eb788c 100644
> --- a/arch/powerpc/include/uapi/asm/mman.h
> +++ b/arch/powerpc/include/uapi/asm/mman.h
> @@ -29,4 +29,9 @@
>  #define MAP_STACK    0x20000         /* give out an address that is best 
> suited for process/thread stacks */
>  #define MAP_HUGETLB  0x40000         /* create a huge page mapping */
>  
> +#define MAP_HUGE_2MB (21 << MAP_HUGE_SHIFT)  /* 2MB HugeTLB Page */
> +#define MAP_HUGE_16MB        (24 << MAP_HUGE_SHIFT)  /* 16MB HugeTLB Page */
> +#define MAP_HUGE_1GB (30 << MAP_HUGE_SHIFT)  /* 1GB HugeTLB Page */
> +#define MAP_HUGE_16GB        (34 << MAP_HUGE_SHIFT)  /* 16GB HugeTLB Page */
> +
>  #endif /* _UAPI_ASM_POWERPC_MMAN_H */

We may want to call out what MMU supports what size, so that an error can
be interpreted from the header file comments.

Reviewed-by: Balbir Singh <bsinghar...@gmail.com>

Reply via email to