Re: [patch for-3.6] mm, thp: fix mapped pages avoiding unevictablelist on mlock

From: Andrea Arcangeli
Date: Fri Sep 28 2012 - 09:30:13 EST


Hi David,

On Wed, Sep 19, 2012 at 06:19:27PM -0700, David Rientjes wrote:
> + if ((flags & FOLL_MLOCK) && (vma->vm_flags & VM_LOCKED)) {
> + if (page->mapping && trylock_page(page)) {
> + lru_add_drain();
> + if (page->mapping)
> + mlock_vma_page(page);
> + unlock_page(page);
> + }
> + }

Reviewed-by: Andrea Arcangeli <aarcange@xxxxxxxxxx>

Without the patch the kernel will be perfectly fine too, this is is
only to show more "uptodate" values in meminfo.

The meminfo would eventually go in sync as the vmscan started walking
lrus and the old behavior will still happen when trylock
fails.

Without the patch the refiling events happen lazily as needed, now
they happen even if they're not needed.

In some ways we could drop this and also the 4k case and we'd overall
improve performance.

But transparent hugepages must behave identical to 4k pages, so unless
we remove it from the 4k case, it's certainly good to apply the above.

The patch can be deferred to 3.7 if needed.

Thanks!
Andrea
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/