Messages in this thread | | | Subject | Re: [RFC PATCH 0/3] Add mmap(MAP_CONTIG) support | From | Anshuman Khandual <> | Date | Thu, 12 Oct 2017 16:06:13 +0530 |
| |
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).
| |