Re: [PATCH -mm] vmscan: report vm_flags in page_referenced()

Peter Zijlstra
2009-05-12T06:23:47Z

On Tue, 2009-05-12 at 10:51 +0800, Wu Fengguang wrote:
> @@ -406,6 +408,7 @@ static int page_referenced_anon(struct p
> if (mem_cont && !mm_match_cgroup(vma->vm_mm, mem_cont))
> continue;
> referenced += page_referenced_one(page, vma, &mapcount);
> + *vm_flags |= vma->vm_flags;
> if (!mapcount)
> break;
> }

Shouldn't that read:

if (page_referenced_on(page, vma, &mapcount)) {
referenced++;
*vm_flags |= vma->vm_flags;
}

So that we only add the vma-flags of those vmas that actually have a
young bit set?

In which case it'd be more at home in page_referenced_one():

@@ -381,6 +381,8 @@ out_unmap:
(*mapcount)--;
pte_unmap_unlock(pte, ptl);
out:
+ if (referenced)
+ *vm_flags |= vma->vm_flags;
return referenced;
}

Otherwise seems like a nice series, but please post the next version in
a new thread, this one is getting a bit unwieldy ;-)