2021-02-03 04:26:19

by Xu, Yanfei

[permalink] [raw]
Subject: [PATCH] mm/hugetlb: remove duplicate codes of setting compound_nr

From: Yanfei Xu <[email protected]>

set_compound_order() set both of page's compound_order and
compound_nr. It's no need to assign to compound_nr again, so
remove it.

Signed-off-by: Yanfei Xu <[email protected]>
---
mm/hugetlb.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index a3e4fa2c5e94..ac249b1583de 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -1228,7 +1228,6 @@ static void destroy_compound_gigantic_page(struct page *page,
}

set_compound_order(page, 0);
- page[1].compound_nr = 0;
__ClearPageHead(page);
}

--
2.27.0


2021-02-03 05:26:55

by Mike Kravetz

[permalink] [raw]
Subject: Re: [PATCH] mm/hugetlb: remove duplicate codes of setting compound_nr

On 2/2/21 8:40 PM, [email protected] wrote:
> From: Yanfei Xu <[email protected]>
>
> set_compound_order() set both of page's compound_order and
> compound_nr. It's no need to assign to compound_nr again, so
> remove it.
>
> Signed-off-by: Yanfei Xu <[email protected]>
> ---
> mm/hugetlb.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index a3e4fa2c5e94..ac249b1583de 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -1228,7 +1228,6 @@ static void destroy_compound_gigantic_page(struct page *page,
> }
>
> set_compound_order(page, 0);
> - page[1].compound_nr = 0;

I may be reading the code wrong, but set_compound_order(page, 0) will
set page[1].compound_nr to the value of 1. That is different than the
explicit setting to 0 in the existing code.

If that is correct, then you should say why the explicit assignment
is not necessary.
--
Mike Kravetz

> __ClearPageHead(page);
> }
>
>

2021-02-03 05:28:57

by Xu, Yanfei

[permalink] [raw]
Subject: Re: [PATCH] mm/hugetlb: remove duplicate codes of setting compound_nr

Sorry. Please ignore this patch, it's incorrect.

Thanks,
Yanfei

On 2/3/21 12:40 PM, [email protected] wrote:
> From: Yanfei Xu <[email protected]>
>
> set_compound_order() set both of page's compound_order and
> compound_nr. It's no need to assign to compound_nr again, so
> remove it.
>
> Signed-off-by: Yanfei Xu <[email protected]>
> ---
> mm/hugetlb.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index a3e4fa2c5e94..ac249b1583de 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -1228,7 +1228,6 @@ static void destroy_compound_gigantic_page(struct page *page,
> }
>
> set_compound_order(page, 0);
> - page[1].compound_nr = 0;
> __ClearPageHead(page);
> }
>
>