> On Aug 26, 2022, at 17:24, Miaohe Lin <linmiaohe@xxxxxxxxxx> wrote: > > We can avoid unneeded WRITE_ONCE() overhead by using LIST_HEAD() to define > a list head. IIUC, the overhead doesn’t change. Right? I’m fine with your changes. Reviewed-by: Muchun Song <songmuchun@xxxxxxxxxxxxx> Thanks. > > Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx> > --- > mm/hugetlb.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 24f580ddf130..b3e6592247a3 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -459,14 +459,12 @@ static int allocate_file_region_entries(struct resv_map *resv, > int regions_needed) > __must_hold(&resv->lock) > { > - struct list_head allocated_regions; > + LIST_HEAD(allocated_regions); > int to_allocate = 0, i = 0; > struct file_region *trg = NULL, *rg = NULL; > > VM_BUG_ON(regions_needed < 0); > > - INIT_LIST_HEAD(&allocated_regions); > - > /* > * Check for sufficient descriptors in the cache to accommodate > * the number of in progress add operations plus regions_needed. > @@ -2352,7 +2350,7 @@ struct page *alloc_huge_page_vma(struct hstate *h, struct vm_area_struct *vma, > static int gather_surplus_pages(struct hstate *h, long delta) > __must_hold(&hugetlb_lock) > { > - struct list_head surplus_list; > + LIST_HEAD(surplus_list); > struct page *page, *tmp; > int ret; > long i; > @@ -2367,7 +2365,6 @@ static int gather_surplus_pages(struct hstate *h, long delta) > } > > allocated = 0; > - INIT_LIST_HEAD(&surplus_list); > > ret = -ENOMEM; > retry: > -- > 2.23.0 > >