On 04/07/2017 06:31 PM, Michael Ellerman wrote: > 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. > */
Yeah its clearer, thanks. > > > 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 > Sure, will do it.