The patch titled Subject: mm/page_alloc: speed up the iteration of max_order has been removed from the -mm tree. Its filename was mm-page_alloc-speeding-up-the-iteration-of-max_order.patch This patch was dropped because it was nacked ------------------------------------------------------ From: Muchun Song <songmuchun@xxxxxxxxxxxxx> Subject: mm/page_alloc: speed up the iteration of max_order When we free a page whose order is very close to MAX_ORDER and greater than pageblock_order, it wastes some CPU cycles to increase max_order to MAX_ORDER one by one and check the pageblock migratetype of that page repeatedly especially when MAX_ORDER is much larger than pageblock_order. Link: https://lkml.kernel.org/r/20201202121838.75218-1-songmuchun@xxxxxxxxxxxxx Signed-off-by: Muchun Song <songmuchun@xxxxxxxxxxxxx> Cc: Vlastimil Babka <vbabka@xxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/page_alloc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) --- a/mm/page_alloc.c~mm-page_alloc-speeding-up-the-iteration-of-max_order +++ a/mm/page_alloc.c @@ -1035,7 +1035,7 @@ continue_merging: pfn = combined_pfn; order++; } - if (max_order < MAX_ORDER) { + if (max_order < MAX_ORDER && order < MAX_ORDER - 1) { /* If we are here, it means order is >= pageblock_order. * We want to prevent merge between freepages on isolate * pageblock and normal pageblock. Without this, pageblock @@ -1056,6 +1056,8 @@ continue_merging: is_migrate_isolate(buddy_mt))) goto done_merging; } + if (unlikely(order != max_order - 1)) + max_order = order + 1; max_order++; goto continue_merging; } _ Patches currently in -mm which might be from songmuchun@xxxxxxxxxxxxx are mm-memcontrol-remove-unused-mod_memcg_obj_state.patch mm-memcg-slab-fix-return-child-memcg-objcg-for-root-memcg.patch mm-memcg-slab-fix-use-after-free-in-obj_cgroup_charge.patch mm-memcg-slab-rename-_lruvec_slab_state-to-_lruvec_kmem_state.patch mm-page_isolation-do-not-isolate-the-max-order-page.patch