Re: [PATCH V2] mm/thp: Allocate transparent hugepages on local node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Aneesh Kumar K.V" <aneesh.kumar@xxxxxxxxxxxxxxxxxx> writes:

> Vlastimil Babka <vbabka@xxxxxxx> writes:
>
>> On 12/01/2014 03:06 PM, Aneesh Kumar K.V wrote:
>>> "Kirill A. Shutemov" <kirill@xxxxxxxxxxxxx> writes:
>>>
>>>> On Mon, Dec 01, 2014 at 11:16:43AM +0530, Aneesh Kumar K.V wrote:
>>>>> This make sure that we try to allocate hugepages from local node if
>>>>> allowed by mempolicy. If we can't, we fallback to small page allocation
>>>>> based on mempolicy. This is based on the observation that allocating pages
>>>>> on local node is more beneficial that allocating hugepages on remote node.
>>>>>
> ........
> ......
>
>>>>> index e58725aff7e9..fa96af5b31f7 100644
>>>>> --- a/mm/mempolicy.c
>>>>> +++ b/mm/mempolicy.c
>>>>> @@ -2041,6 +2041,46 @@ retry_cpuset:
>>>>>   	return page;
>>>>>   }
>>>>>
>>>>> +struct page *alloc_hugepage_vma(gfp_t gfp, struct vm_area_struct *vma,
>>>>> +				unsigned long addr, int order)
>>
>> It's somewhat confusing that the name talks about hugepages, yet you 
>> have to supply the order and gfp. Only the policy handling is tailored 
>> for hugepages. But maybe it's better than calling the function 
>> "alloc_pages_vma_local_only_unless_interpolate" :/
>>
>
> I did try to do an API that does
>
> struct page *alloc_hugepage_vma(struct vm_area_struct *vma, unsigned long addr)
>
> But that will result in further #ifdef in mm/mempolicy, because we will
> then introduce transparent_hugepage_defrag(vma) and HPAGE_PMD_ORDER
> there. I was not sure whether we really wanted that.
>

Any update on this ? Should I resend the patch rebasing it to the latest
upstream ?

-aneesh

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]