Re: [RFC PATCH 2/2] mm/mremap: Fix race between MOVE_PUD mremap and pageout

2021-05-25 Thread Linus Torvalds
On Mon, May 24, 2021 at 10:34 PM Aneesh Kumar K.V wrote: > > @@ -221,6 +222,9 @@ static inline void page_vma_mapped_walk_done(struct > page_vma_mapped_walk *pvmw) > spin_unlock(pvmw->pte_ptl); > if (pvmw->pmd_ptl) > spin_unlock(pvmw->pmd_ptl); > + if

[RFC PATCH 2/2] mm/mremap: Fix race between MOVE_PUD mremap and pageout

2021-05-25 Thread Aneesh Kumar K.V
CPU 1 CPU 2 CPU 3 mremap(old_addr, new_addr) page_shrinker/try_to_unmap_one mmap_write_lock_killable() addr = old_addr lock(pte_ptl) lock(pud_ptl) pud = *old_pud pud_c