On Thu, Mar 02, 2017 at 03:39:19PM +0900, Minchan Kim wrote: > try_to_munlock returns SWAP_MLOCK if the one of VMAs mapped > the page has VM_LOCKED flag. In that time, VM set PG_mlocked to > the page if the page is not pte-mapped THP which cannot be > mlocked, either. > > With that, __munlock_isolated_page can use PageMlocked to check > whether try_to_munlock is successful or not without relying on > try_to_munlock's retval. It helps to make ttu/ttuo simple with > upcoming patches.
I *think* you're correct, but it took time to wrap my head around. We basically rely on try_to_munlock() never caller for PTE-mapped THP. And we don't at the moment. It worth adding something like VM_BUG_ON_PAGE(PageCompound(page) && PageDoubleMap(page), page); into try_to_munlock(). Otherwise looks good to me. Will free adding my Acked-by once this nit is addressed. -- Kirill A. Shutemov