diff mbox series

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

Message ID 20230826154745.4019371-3-shikemeng@huaweicloud.com (mailing list archive)
State New
Headers show
Series Fixes and cleanups to break_down_buddy_pages | expand

Commit Message

Kemeng Shi Aug. 26, 2023, 3:47 p.m. UTC
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
size >= 1, then page + size and page will not interleave.
As summary, current_page will not equal to target page.

Signed-off-by: Kemeng Shi <shikemeng@huaweicloud.com>
---
 mm/page_alloc.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Naoya Horiguchi Sept. 26, 2023, 11:34 a.m. UTC | #1
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@huaweicloud.com>

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

Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>

> ---
>  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
> 
> 
>
diff mbox series

Patch

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);
 	}
 }