On Wed, 25 Oct 2023 23:44:32 +0800 Zhiguo Jiang <justinjiang@xxxxxxxx> wrote: > The reason that folio_referenced() returns negative is because > rwc.contended is 1, vm_flags is 0 at this time and so there is > no need to detect VM_EXEC. And only when referenced > 0, pra->vm_flags > will be filled with vma->vm_flags in folio_referenced_one(). > > ... > > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -2095,7 +2095,7 @@ static void shrink_active_list(unsigned long nr_to_scan, > > /* Referenced or rmap lock contention: rotate */ > if (folio_referenced(folio, 0, sc->target_mem_cgroup, > - &vm_flags) != 0) { > + &vm_flags) > 0) { > /* > * Identify referenced, file-backed active folios and > * give them one more trip around the active list. So I suspect this email did not make it through the linux-mm server. I can't find it in my archive or at https://lore.kernel.org/linux-mm/. So please resend? Prior to doing so, please update the changelog to describe the before- and after- userspace visible effects of the change. Thanks.