[PATCH v4 00/11] clean-up the migration target allocation functions

From: js1304
Date: Tue Jul 07 2020 - 03:45:12 EST


From: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx>

This patchset clean-up the migration target allocation functions.

* Changes on v4
- use full gfp_mask
- use memalloc_nocma_{save,restore} to exclude CMA memory
- separate __GFP_RECLAIM handling for THP allocation
- remove more wrapper functions

* Changes on v3
- As Vlastimil suggested, do not introduce alloc_control for hugetlb functions
- do not change the signature of migrate_pages()
- rename alloc_control to migration_target_control

* Changes on v2
- add acked-by tags
- fix missing compound_head() call for patch #3
- remove thisnode field on alloc_control and use __GFP_THISNODE directly
- fix missing __gfp_mask setup for patch
"mm/hugetlb: do not modify user provided gfp_mask"

* Cover-letter

Contributions of this patchset are:
1. unify two hugetlb alloc functions. As a result, one is remained.
2. make one external hugetlb alloc function to internal one.
3. unify three functions for migration target allocation.

The patchset is based on next-20200703 + revert v3 of this patchset.

git revert ddc017c727e429488cccd401a7794c8152e50a5b~1..583c2617fd3244fff79ba3b445964884c5cd7780

The patchset is available on:

https://github.com/JoonsooKim/linux/tree/cleanup-migration-target-allocation-v4.00-next-20200703

Thanks.

Joonsoo Kim (11):
mm/page_isolation: prefer the node of the source page
mm/migrate: move migration helper from .h to .c
mm/hugetlb: unify migration callbacks
mm/hugetlb: make hugetlb migration callback CMA aware
mm/migrate: clear __GFP_RECLAIM for THP allocation for migration
mm/migrate: make a standard migration target allocation function
mm/gup: use a standard migration target allocation callback
mm/mempolicy: use a standard migration target allocation callback
mm/page_alloc: remove a wrapper for alloc_migration_target()
mm/memory-failure: remove a wrapper for alloc_migration_target()
mm/memory_hotplug: remove a wrapper for alloc_migration_target()

include/linux/hugetlb.h | 28 ++++++++++++-------
include/linux/migrate.h | 34 +++++------------------
mm/gup.c | 60 +++++------------------------------------
mm/hugetlb.c | 71 +++++++++++++++++++------------------------------
mm/internal.h | 9 ++++++-
mm/memory-failure.c | 15 +++++------
mm/memory_hotplug.c | 42 +++++++++++++++--------------
mm/mempolicy.c | 29 +++++---------------
mm/migrate.c | 59 ++++++++++++++++++++++++++++++++++++++--
mm/page_alloc.c | 8 ++++--
mm/page_isolation.c | 5 ----
11 files changed, 163 insertions(+), 197 deletions(-)

--
2.7.4