Re: [PATCH v8 3/7] mm,hugetlb: Drop clearing of flag from prep_new_huge_page
From: Michal Hocko
Date: Thu Apr 15 2021 - 07:41:58 EST
On Thu 15-04-21 12:35:40, Oscar Salvador wrote:
> Pages allocated after boot get its private field cleared by means
> of post_alloc_hook().
You surely meant to say s@boot@page/cma allocator@ here
> Pages allocated during boot, that is directly from the memblock allocator,
> get cleared by paging_init()->..->memmap_init_zone->..->__init_single_page()
> before any memblock allocation.
>
> Based on this ground, let us remove the clearing of the flag from
> prep_new_huge_page() as it is not needed.
I would also mention that this is a leftover from 6c0371490140
("hugetlb: convert PageHugeFreed to HPageFreed flag"). Previously the
explicit clearing was necessary because compound allocations do not get
this initialization (see prep_compound_page).
> Signed-off-by: Oscar Salvador <osalvador@xxxxxxx>
with that
Acked-by: Michal Hocko <mhocko@xxxxxxxx>
> ---
> mm/hugetlb.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 54d81d5947ed..2cb9fa79cbaa 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -1493,7 +1493,6 @@ static void prep_new_huge_page(struct hstate *h, struct page *page, int nid)
> spin_lock_irq(&hugetlb_lock);
> h->nr_huge_pages++;
> h->nr_huge_pages_node[nid]++;
> - ClearHPageFreed(page);
> spin_unlock_irq(&hugetlb_lock);
> }
>
> --
> 2.16.3
--
Michal Hocko
SUSE Labs