The next_page is only used to forward page in case target is in second half range. Move forward page directly to remove unnecessary next_page. Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx> Acked-by: Naoya Horiguchi <naoya.horiguchi@xxxxxxx> --- mm/page_alloc.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mm/page_alloc.c b/mm/page_alloc.c index bad979493dde..7df77b58a961 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -6678,20 +6678,18 @@ static void break_down_buddy_pages(struct zone *zone, struct page *page, int migratetype) { unsigned long size = 1 << high; - struct page *current_buddy, *next_page; + struct page *current_buddy; while (high > low) { high--; size >>= 1; if (target >= &page[size]) { - next_page = page + size; current_buddy = page; + page = page + size; } else { - next_page = page; current_buddy = page + size; } - page = next_page; if (set_page_guard(zone, current_buddy, high, migratetype)) continue; -- 2.30.0