Hi Yasuaki, On 03/06/2013 03:48 PM, Yasuaki Ishimatsu wrote: > Hi Lin, > > IMHO, current implementation depends on luck. So even if system has > many non movable memory, get_user_pages_non_movable() may not allocate > non movable memory. Sorry, I'm not quite understand here, since the to be pinned pages are never pinned before, the migration successful probability is quite high, not just depends on luck. > > At following thread, Marek Szyprowski implemented similar feature which > allocates non movable memory by "get_user_pages()". > > https://lkml.org/lkml/2013/3/5/44 > > I think Marek's way is better. I think the two versions of get_user_pages() are not that great and one I can see is that Marek's patchset adding new flag to instruct the page allocation while I'm not sure if that approach is proper since it touches the core page allocation codes. Besides in Marek's version we also have to patch every place if we want to get around migration failure caused by GUP long pinned pages unless we want GUP fall into getting all pages from non movable zones. As Mel suggested before adding a migrate callback for such pages may be another approach, but we also have to distinguish the long-time pin and short-time pin while which is not expectable beforehand. So what we can do to improve is to migrate the pinned pages by GUP just the time we perform the migration caused by memory hotplug or cma people so that nobody cases if the page is long-time pinned or not :) But is that feasible to migrate a being pinned page ? thanks, linfeng -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html