On 08/07/20 at 05:12pm, Wei Yang wrote: > Per my understanding, we keep the regions ordered and would always > coalesce regions properly. So the task to keep this property is just > to coalesce its neighbour. > > Let's simplify this. > > Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxxxxxxxxxx> > --- > mm/hugetlb.c | 6 +----- > 1 file changed, 1 insertion(+), 5 deletions(-) > > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 590111ea6975..62ec74f6d03f 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -307,8 +307,7 @@ static void coalesce_file_region(struct resv_map *resv, struct file_region *rg) > list_del(&rg->link); > kfree(rg); > > - coalesce_file_region(resv, prg); > - return; > + rg = prg; > } > > nrg = list_next_entry(rg, link); > @@ -318,9 +317,6 @@ static void coalesce_file_region(struct resv_map *resv, struct file_region *rg) > > list_del(&rg->link); > kfree(rg); > - > - coalesce_file_region(resv, nrg); I agree with the change. But this change the original behaviour of coalesce_file_region, not sure if there's any reason we need to do that, maybe Mike can give a judgement. Personally, Reviewed-by: Baoquan He <bhe@xxxxxxxxxx> > - return; > } > } > > -- > 2.20.1 (Apple Git-117) > >