Re: [patch -mm] mm, thp: avoid excessive compaction latency during fault fix

David Rientjes
2014-05-22T02:49:14Z

On Tue, 13 May 2014, Vlastimil Babka wrote:

> I wonder what about a process doing e.g. mmap() with MAP_POPULATE. It seems to
> me that it would get only MIGRATE_ASYNC here, right? Since gfp_mask would
> include __GFP_NO_KSWAPD and it won't have PF_KTHREAD.
> I think that goes against the idea that with MAP_POPULATE you say you are
> willing to wait to have everything in place before you actually use the
> memory. So I guess you are also willing to wait for hugepages in that
> situation?
>

I don't understand the distinction you're making between MAP_POPULATE and
simply a prefault of the anon memory. What is the difference in semantics
between using MAP_POPULATE and touching a byte every page size along the
range? In the latter, you'd be faulting thp with MIGRATE_ASYNC, so I
don't understand how MAP_POPULATE is any different or implies any
preference for hugepages.