Messages in this thread | | | Date | Tue, 24 Oct 2023 17:51:47 +0200 | Subject | Re: [PATCH] mm/rmap: vm_flags including VM_EXEC can exit timely | From | David Hildenbrand <> |
| |
On 24.10.23 16:49, Zhiguo Jiang wrote: > When pra->vm_flags include VM_EXEC flag and folio is file detected in > folio_referenced_one(), the folio referenced traversal process can be > exited timely to reduce the detecting folio referenced time. >
Can you further elaborate what the logic behind that is?
Why can we stop here if we're dealing with a pagecache folio in an executable VMA?
> Signed-off-by: Zhiguo Jiang <justinjiang@vivo.com> > --- > mm/rmap.c | 2 ++ > 1 file changed, 2 insertions(+) > mode change 100644 => 100755 mm/rmap.c > > diff --git a/mm/rmap.c b/mm/rmap.c > index 7a27a2b41802..932f3b7e8521 > --- a/mm/rmap.c > +++ b/mm/rmap.c > @@ -884,6 +884,8 @@ static bool folio_referenced_one(struct folio *folio, > if (referenced) { > pra->referenced++; > pra->vm_flags |= vma->vm_flags & ~VM_LOCKED; > + if ((pra->vm_flags | VM_EXEC) && folio_is_file_lru(folio)) > + return false; > } > > if (!pra->mapcount)
-- Cheers,
David / dhildenb
| |