Anshuman Khandual <khand...@linux.vnet.ibm.com> writes: > 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.
I updated this for you to include all the sizes. > diff --git a/arch/powerpc/include/uapi/asm/mman.h > b/arch/powerpc/include/uapi/asm/mman.h > index 03c06ba..ebe99c7 100644 > --- a/arch/powerpc/include/uapi/asm/mman.h > +++ b/arch/powerpc/include/uapi/asm/mman.h > @@ -29,4 +29,18 @@ > #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 */ > > +/* > + * These constant defines should be used for creating the > + * 'flags' argument (26:31 bit positions) for mmap() system > + * call should the caller decide to use non default HugeTLB > + * page size. > + */ And I reworded the comment the make it clearer (I think) that most users shouldn't need to use these, and should just use the default size: /* * When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size. * A value of zero indicates that the default huge page size should be used. * To use a non-default huge page size, one of these defines can be used, or the * size can be encoded by hand. Note that on most systems only a subset, or * possibly none, of these sizes will be available. */ Also do you want to send a patch to the man page? https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/man2/mmap.2#n248 cheers