Thread (40 messages) 40 messages, 7 authors, 2021-06-07

Re: [PATCH v9 03/10] mm/rmap: Split try_to_munlock from try_to_unmap

From: Shakeel Butt <hidden>
Date: 2021-06-05 04:20:38
Also in: dri-devel, linux-doc, lkml, nouveau

On Fri, Jun 4, 2021 at 8:39 PM Liam Howlett [off-list ref] wrote:
quoted
Particularly the following paragraph:
...
    Vlastimil Babka points out another race which this patch protects against.
     try_to_unmap_one() might reach its mlock_vma_page() TestSetPageMlocked a
    moment after munlock_vma_pages_all() did its Phase 1 TestClearPageMlocked:
    leaving PageMlocked and unevictable when it should be evictable.  mmap_sem
    is ineffective because exit_mmap() does not hold it; page lock ineffective
    because __munlock_pagevec() only takes it afterwards, in Phase 2; pte lock
    is effective because __munlock_pagevec_fill() takes it to get the page,
    after VM_LOCKED was cleared from vm_flags, so visible to try_to_unmap_one.
...
So this is saying the race with exit_mmap() isn't benign after all?
Yes, not benign at all.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help