current_order is guaranteed to '>=' min_order while min_order always '>=' order. So current_order must be '>=' order. Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> --- mm/page_alloc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 96b7c1a7d1f2..d37ec87515d0 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2072,8 +2072,7 @@ __rmqueue_fallback(struct zone *zone, int order, int start_migratetype, * allocation falls back into a different pageblock than this * one, it won't cause permanent fragmentation. */ - if (!can_steal && start_migratetype == MIGRATE_MOVABLE - && current_order > order) + if (!can_steal && start_migratetype == MIGRATE_MOVABLE) goto find_smallest; goto do_steal; -- 2.33.0