Re: [PATCH 03/10] mm/hugetlb: use list_splice to merge two list at once

From: Baoquan He
Date: Fri Aug 07 2020 - 08:53:40 EST


On 08/07/20 at 05:12pm, Wei Yang wrote:
> Instead of add allocated file_region one by one to region_cache, we
> could use list_splice to merge two list at once.
>
> Also we know the number of entries in the list, increase the number
> directly.
>
> Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxxxxxxxxxx>
> ---
> mm/hugetlb.c | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/mm/hugetlb.c b/mm/hugetlb.c
> index 0a2f3851b828..929256c130f9 100644
> --- a/mm/hugetlb.c
> +++ b/mm/hugetlb.c
> @@ -443,11 +443,8 @@ static int allocate_file_region_entries(struct resv_map *resv,
>
> spin_lock(&resv->lock);
>
> - list_for_each_entry_safe(rg, trg, &allocated_regions, link) {
> - list_del(&rg->link);
> - list_add(&rg->link, &resv->region_cache);
> - resv->region_cache_count++;
> - }
> + list_splice(&allocated_regions, &resv->region_cache);
> + resv->region_cache_count += to_allocate;

Looks good to me.

Reviewed-by: Baoquan He <bhe@xxxxxxxxxx>

> }
>
> return 0;
> --
> 2.20.1 (Apple Git-117)
>
>