[PATCH 0/2] Make alloc_contig_range handle Hugetlb pages

From: Oscar Salvador
Date: Wed Feb 17 2021 - 05:09:25 EST


Hi,

this is the new version of [1].

RFC -> v1:
- Drop RFC
- Addressed feedback from David and Mike
- Fence off gigantic pages as there is a cyclic dependency between
them and alloc_contig_range
- Re-organize the code to make race-window smaller and to put
all details in hugetlb code
- Drop nodemask initialization. First a node will be tried and then we
will back to other nodes containing memory (N_MEMORY). Details in
patch#1's changelog
- Count new page as surplus in case we failed to dissolve the old page
and the new one. Details in patch#1.

I already have a patch that uses the new alloc_and_dissolve() from hotplug
code, but I decided to leave that patch out until this patchset is settled.

[1] https://patchwork.kernel.org/project/linux-mm/list/?series=429833

Oscar Salvador (2):
mm: Make alloc_contig_range handle free hugetlb pages
mm: Make alloc_contig_range handle in-use hugetlb pages

include/linux/hugetlb.h | 7 ++++
mm/compaction.c | 21 +++++++++++
mm/hugetlb.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++
mm/vmscan.c | 5 +--
4 files changed, 124 insertions(+), 2 deletions(-)

--
2.16.3