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 <osalva...@suse.de>

with that
Acked-by: Michal Hocko <mho...@suse.com>

> ---
>  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

Reply via email to