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 <[email protected]>
Reviewed-by: Baoquan He <[email protected]>
Reviewed-by: Mike Kravetz <[email protected]>
---
 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);
-               return;
        }
 }
 
-- 
2.20.1 (Apple Git-117)

Reply via email to