On Tuesday 05 March 2013, Marek Szyprowski wrote:
To solving this issue requires preventing locking of the pages, which are placed in CMA regions, for a long time. Our idea is to migrate anonymous page content before locking the page in get_user_pages(). This cannot be done automatically, as get_user_pages() interface is used very often for various operations, which usually last for a short period of time (like for example exec syscall). We have added a new flag indicating that the given get_user_space() call will grab pages for a long time, thus it is suitable to use the migration workaround in such cases.
Can you explain the tradeoff here? I would have expected that the default should be to migrate pages out, and annotate the instances that we know are performance critical and short-lived. That would at least appear more reliable to me.
Arnd