Re: [PATCH] mm/gup: remove unnecessary check against CMA in __gup_longterm_locked()

From: Aneesh Kumar K.V
Date: Tue Jun 04 2019 - 04:34:33 EST


On 6/4/19 12:56 PM, Pingfan Liu wrote:
The PF_MEMALLOC_NOCMA is set by memalloc_nocma_save(), which is finally
cast to ~_GFP_MOVABLE. So __get_user_pages_locked() will get pages from
non CMA area and pin them. There is no need to
check_and_migrate_cma_pages().


That is not completely correct. We can fault in that pages outside get_user_pages_longterm at which point those pages can get allocated from CMA region. memalloc_nocma_save() as added as an optimization to avoid unnecessary page migration.


-aneesh