[PATCH V4] powerpc/hugetlb: Add ABI defines for supported HugeTLB page sizes

Anshuman Khandual khandual at linux.vnet.ibm.com
Sat Apr 8 00:58:44 AEST 2017


On 04/07/2017 06:31 PM, Michael Ellerman wrote:
> Anshuman Khandual <khandual at 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.



More information about the Linuxppc-dev mailing list