Message ID | 20200807091251.12129-2-richard.weiyang@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mm/hugetlb: code refine and simplification | expand |
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@linux.alibaba.com> > --- > 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@redhat.com> > - return; > } > } > > -- > 2.20.1 (Apple Git-117) > >
On 8/7/20 2:12 AM, 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@linux.alibaba.com> Thanks! It is unfortunate that the region management code is difficult to understand. Reviewed-by: Mike Kravetz <mike.kravetz@oracle.com>
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); - return; } }
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@linux.alibaba.com> --- mm/hugetlb.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-)