On 10/12/2017 07:16 AM, Mike Kravetz wrote: > The following is a 'possible' way to add such functionality. I just > did what was easy and pre-allocated contiguous pages which are used > to populate the mapping. I did not use any of the higher order > allocators such as alloc_contig_range. Therefore, it is limited to Just tried with a small prototype with an implementation similar to that of alloc_gigantic_page() where we scan the zones (applicable zonelist) for contiguous valid PFN range and try allocating with alloc_contig_range. Will share it soon. > allocations of MAX_ORDER size. Also, the allocations should probably Just did a quick test and it worked till 1UL << (MAX_ORDER - 1) numbers of pages on a POWER system with the current RFC patches. As the pages are allocated during VMA creation time, comparison to normal page fault speed while accessing the buffer wont be fair. > be done outside mmap_sem but that was the easiest place to do it in > this quick and easy POC. Why it should be done outside the mmap_sem, because it can take some time ? But then VMA can just go away while we are allocating the big chunks of pages (if we dont hold mmap_sem). -- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html