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>