Messages in this thread | | | From | Shakeel Butt <> | Date | Fri, 4 Jun 2021 21:19:55 -0700 | Subject | Re: [PATCH v9 03/10] mm/rmap: Split try_to_munlock from try_to_unmap |
| |
On Fri, Jun 4, 2021 at 8:39 PM Liam Howlett <liam.howlett@oracle.com> wrote: > > > 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.
| |