Thread (15 messages) 15 messages, 6 authors, 2021-06-14

Re: [PATCH 6/6] mm/mremap: hold the rmap lock in write mode when moving page table entries.

flat view

From: Jann Horn <jannh@google.com>
Date: 2021-06-11 08:12:24

On Thu, Jun 10, 2021 at 10:35 AM Aneesh Kumar K.V
[off-list ref] wrote:
To avoid a race between rmap walk and mremap, mremap does take_rmap_locks().
The lock was taken to ensure that rmap walk don't miss a page table entry due to
PTE moves via move_pagetables(). The kernel does further optimization of
this lock such that if we are going to find the newly added vma after the
old vma, the rmap lock is not taken. This is because rmap walk would find the
vmas in the same order and if we don't find the page table attached to
older vma we would find it with the new vma which we would iterate later.
[...]
Fixes: 2c91bd4a4e2e ("mm: speed up mremap by 20x on large regions")
Fixes: c49dd3401802 ("mm: speedup mremap on 1GB or larger regions")
probably also "Cc: stable@vger.kernel.org"?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help