Re: [RFC 05/11] mm: make the try_to_munlock void function
From: Kirill A. Shutemov
Date: Tue Mar 07 2017 - 10:21:18 EST
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