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 <[email protected]>
> ---
>  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 <[email protected]>

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

Reply via email to