On Tue, May 27, 2014 at 11:56:44AM -0500, Christoph Lameter wrote: > On Tue, 27 May 2014, Peter Zijlstra wrote: > > > > Code could be easily added to alloc_pages_vma() to consider the pinned > > > status on allocation. Remove GFP_MOVABLE if the vma is pinned. > > > > Yes, but alloc_pages_vma() isn't used for shared pages (with exception > > of shmem and hugetlbfs). > > alloc_pages_vma() is used for all paths where we populate address ranges > with pages. This is what we are doing when pinning. Pages are not > allocated outside of a vma context. > > What do you mean by shared pages that are not shmem pages? AnonPages that > are referenced from multiple processes? Regular files.. they get allocated through __page_cache_alloc(). AFAIK there is nothing stopping people from pinning file pages for RDMA or other purposes. Unusual maybe, but certainly not impossible, and therefore we must be able to handle it. > > So whichever way around we have to do the mm_populate() + eviction hook > > + migration code, and since that equally covers the anon case, why > > bother? > > Migration is expensive and the memory registration overhead already > causes lots of complaints. Sure, but first to the simple thing, then if its a problem do something else. -- 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>