[PATCH 0/12] mm: page migration cleanups, and a little mlock

Hugh Dickins
2015-10-19T04:44:18Z

Here's a series of mostly trivial cleanups to page migration, following
on from a preliminary cleanup to Documentation, and to the way rmap
calls mlock_vma_page (which has to be duplicated in page migration).

This started out as patch 04/24 "mm: make page migration's newpage
handling more robust" in my huge tmpfs series against v3.19 in February.
It was already a portmanteau then, and more has been thrown in since:
not much of relevance to tmpfs, just cleanups that looked worth making.

A few minor fixes on the way, nothing I think worth sending to stable.
Mostly trivial, but 12/12 and a few of the others deserve some thought.

Diffed against v4.3-rc6: I couldn't decide whether to use that or
the v4.3-rc5-mm1 as base, but there's very little conflict anyway:
4/12 should have the second arg to page_remove_rmap() if it goes after
Kirill's THP refcounting series, and 10/12 should have the TTU_FREE
block inserted if it goes after Minchan's MADV_FREE series.

1/12 mm Documentation: undoc non-linear vmas
2/12 mm: rmap use pte lock not mmap_sem to set PageMlocked
3/12 mm: page migration fix PageMlocked on migrated pages
4/12 mm: rename mem_cgroup_migrate to mem_cgroup_replace_page
5/12 mm: correct a couple of page migration comments
6/12 mm: page migration use the put_new_page whenever necessary
7/12 mm: page migration trylock newpage at same level as oldpage
8/12 mm: page migration remove_migration_ptes at lock+unlock level
9/12 mm: simplify page migration's anon_vma comment and flow
10/12 mm: page migration use migration entry for swapcache too
11/12 mm: page migration avoid touching newpage until no going back
12/12 mm: migrate dirty page without clear_page_dirty_for_io etc

Documentation/filesystems/proc.txt | 1
Documentation/vm/page_migration | 27 +-
Documentation/vm/unevictable-lru.txt | 120 +-----------
include/linux/memcontrol.h | 7
mm/balloon_compaction.c | 10 -
mm/filemap.c | 2
mm/internal.h | 9
mm/memcontrol.c | 29 --
mm/migrate.c | 244 ++++++++++++-------------
mm/rmap.c | 99 ++++------
mm/shmem.c | 2
11 files changed, 213 insertions(+), 337 deletions(-)

Hugh