Hi Mike, On 2/15/2018 12:22 PM, Reinette Chatre wrote: > On 2/12/2018 2:20 PM, Mike Kravetz wrote: >> These patches came out of the "[RFC] mmap(MAP_CONTIG)" discussions at: >> http://lkml.kernel.org/r/21f1ec96-2822-1189-1c95-79a2bb491571@xxxxxxxxxx >> >> One suggestion in that thread was to create a friendlier interface that >> could be used by drivers and others outside core mm code to allocate a >> contiguous set of pages. The alloc_contig_range() interface is used for >> this purpose today by CMA and gigantic page allocation. However, this is >> not a general purpose interface. So, wrap alloc_contig_range() in the >> more general interface: >> >> struct page *find_alloc_contig_pages(unsigned int order, gfp_t gfp, int nid, >> nodemask_t *nodemask) >> >> No underlying changes are made to increase the likelihood that a contiguous >> set of pages can be found and allocated. Therefore, any user of this >> interface must deal with failure. The hope is that this interface will be >> able to satisfy some use cases today. > > As discussed in another thread a new feature, Cache Pseudo-Locking, > requires large contiguous regions. Until now I just exposed > alloc_gigantic_page() to handle these allocations in my testing. I now > moved to using find_alloc_contig_pages() as introduced here and all my > tests passed. I do hope that an API supporting large contiguous regions > become available. > > Thank you very much for creating this. > > Tested-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> Do you still intend on submitting these changes for inclusion? I would really like to use this work but unfortunately the original patches submitted here do not apply anymore. I am encountering conflicts with, for example: commit d9cc948f6fa1c3384037f500e0acd35f03850d15 Author: Michal Hocko <mhocko@xxxxxxxx> Date: Wed Jan 31 16:20:44 2018 -0800 mm, hugetlb: integrate giga hugetlb more naturally to the allocation path Thank you very much Reinette