Re: [PATCH v2 2/3] mm/page_alloc: remove unnecessary check in break_down_buddy_pages

From: Naoya Horiguchi
Date: Tue Sep 26 2023 - 07:34:14 EST


On Sat, Aug 26, 2023 at 11:47:44PM +0800, Kemeng Shi wrote:
> 1. We always have target in range started with next_page and full free
> range started with current_buddy.
> 2. The last splited range size is 1 << low and low should be >= 0, then

s/splited/split/

> size >= 1, then page + size and page will not interleave.

I'm not sure the meaning of "interleave" here, maybe simply meaning
"page + size != page is always true (because size > 0)".

> As summary, current_page will not equal to target page.
>
> Signed-off-by: Kemeng Shi <shikemeng@xxxxxxxxxxxxxxx>

But I agree with the summary. So with updating description...

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 88c5f5aea9b0..bb74b40dc195 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -6510,10 +6510,8 @@ static void break_down_buddy_pages(struct zone *zone, struct page *page,
> if (set_page_guard(zone, current_buddy, high, migratetype))
> continue;
>
> - if (current_buddy != target) {
> - add_to_free_list(current_buddy, zone, high, migratetype);
> - set_buddy_order(current_buddy, high);
> - }
> + add_to_free_list(current_buddy, zone, high, migratetype);
> + set_buddy_order(current_buddy, high);
> }
> }
>
> --
> 2.30.0
>
>
>