Hi all, this is another series to do fix and clean up to compaction. Patch 1-2 fix and clean up freepage list operation. Patch 3-4 fix and clean up isolation of freepages Patch 7 factor code to check if compaction is needed for allocation order. More details can be found in respective patches. Thanks! v2->v3: -Collect RVB and ACK from Baolin and Mel -Avoid blockpfn outside pageblock in original likely(order <= MAX_ORDER) block in patch 3 -Move comment into __reset_isolation_suitable in patch 4 -Improve indentation in patch 6 v1->v2: -Collect RVB from Baolin. -Keep pfn inside of pageblock in patch 3. -Only improve comment of is_via_compact_memory in patch 6. -Squash patch 8 and patch 9 into patch 7 and use ALLOC_WMARK_MIN instead of magic number 0. 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 mm/compaction.c | 91 ++++++++++++++++++++++++++++--------------------- 1 file changed, 52 insertions(+), 39 deletions(-) -- 2.30.0