v1->v2: 1. Introduce NR_PAGE_ORDERS and MAX_PAGE_ORDER to avoid conflicts.
Optimize compaction v2.
Baolin Wang (2): mm: compaction: update the cc->nr_migratepages when allocating or freeing the freepages mm: compaction: limit the suitable target page order to be less than cc->order
Barry Song (1): mm: compaction: avoid fast_isolate_freepages blindly choose improper pageblock
Hugh Dickins (1): mm: add page_rmappable_folio() wrapper
Hyesoo Yu (1): mm: page_alloc: check the order of compound page even when the order is zero
Kemeng Shi (6): mm/compaction: use correct list in move_freelist_{head}/{tail} mm/compaction: call list_is_{first}/{last} more intuitively in move_freelist_{head}/{tail} mm/compaction: correctly return failure with bogus compound_order in strict mode mm/compaction: remove repeat compact_blockskip_flush check in reset_isolation_suitable mm/compaction: improve comment of is_via_compact_memory mm/compaction: factor out code to test if we should run compaction for target order
Liu Shixin (1): mm/compaction: introduce NR_PAGE_ORDERS and MAX_PAGE_ORDER
Zi Yan (4): mm/page_alloc: remove unused fpi_flags in free_pages_prepare() mm/compaction: enable compacting >0 order folios. mm/compaction: add support for >0 order folio memory compaction. mm/compaction: optimize >0 order folio compaction with free page split.
include/trace/events/compaction.h | 6 +- mm/compaction.c | 365 ++++++++++++++++++++---------- mm/internal.h | 13 +- mm/mempolicy.c | 17 +- mm/page_alloc.c | 28 +-- 5 files changed, 274 insertions(+), 155 deletions(-)