diff mbox series

[-next] mm: make use of the helper macro LIST_HEAD()

Message ID 20240827015724.620110-1-lihongbo22@huawei.com (mailing list archive)
State New
Headers show
Series [-next] mm: make use of the helper macro LIST_HEAD() | expand

Commit Message

Hongbo Li Aug. 27, 2024, 1:57 a.m. UTC
list_head can be initialized automatically with LIST_HEAD()
instead of calling INIT_LIST_HEAD(). Here we can simplify
the code.

Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
---
 mm/vmalloc.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

Comments

Uladzislau Rezki Aug. 27, 2024, 7:22 p.m. UTC | #1
On Tue, Aug 27, 2024 at 09:57:24AM +0800, Hongbo Li wrote:
> list_head can be initialized automatically with LIST_HEAD()
> instead of calling INIT_LIST_HEAD(). Here we can simplify
> the code.
> 
> Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
> ---
>  mm/vmalloc.c | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
> index 3f9b6bd707d2..3f7b38481fcc 100644
> --- a/mm/vmalloc.c
> +++ b/mm/vmalloc.c
> @@ -2141,13 +2141,11 @@ decay_va_pool_node(struct vmap_node *vn, bool full_decay)
>  	INIT_LIST_HEAD(&decay_list);
>  
>  	for (i = 0; i < MAX_VA_SIZE_PAGES; i++) {
> -		struct list_head tmp_list;
> +		LIST_HEAD(tmp_list);
>  
>  		if (list_empty(&vn->pool[i].head))
>  			continue;
>  
> -		INIT_LIST_HEAD(&tmp_list);
> -
>  		/* Detach the pool, so no-one can access it. */
>  		spin_lock(&vn->pool_lock);
>  		list_replace_init(&vn->pool[i].head, &tmp_list);
> -- 
> 2.34.1
> 
Maybe extend it to:

<snip>
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 57862865e808..e9c6f29a46ad 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -2131,23 +2131,18 @@ reclaim_list_global(struct list_head *head)
 static void
 decay_va_pool_node(struct vmap_node *vn, bool full_decay)
 {
+	struct rb_root decay_root = RB_ROOT;
+	LIST_HEAD(decay_list);
 	struct vmap_area *va, *nva;
-	struct list_head decay_list;
-	struct rb_root decay_root;
 	unsigned long n_decay;
 	int i;
 
-	decay_root = RB_ROOT;
-	INIT_LIST_HEAD(&decay_list);
-
 	for (i = 0; i < MAX_VA_SIZE_PAGES; i++) {
-		struct list_head tmp_list;
+		LIST_HEAD(tmp_list);
 
 		if (list_empty(&vn->pool[i].head))
 			continue;
 
-		INIT_LIST_HEAD(&tmp_list);
-
 		/* Detach the pool, so no-one can access it. */
 		spin_lock(&vn->pool_lock);
 		list_replace_init(&vn->pool[i].head, &tmp_list);
<snip>

?

--
Uladzislau Rezki
Hongbo Li Aug. 28, 2024, 1:27 a.m. UTC | #2
On 2024/8/28 3:22, Uladzislau Rezki wrote:
> On Tue, Aug 27, 2024 at 09:57:24AM +0800, Hongbo Li wrote:
>> list_head can be initialized automatically with LIST_HEAD()
>> instead of calling INIT_LIST_HEAD(). Here we can simplify
>> the code.
>>
>> Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
>> ---
>>   mm/vmalloc.c | 4 +---
>>   1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
>> index 3f9b6bd707d2..3f7b38481fcc 100644
>> --- a/mm/vmalloc.c
>> +++ b/mm/vmalloc.c
>> @@ -2141,13 +2141,11 @@ decay_va_pool_node(struct vmap_node *vn, bool full_decay)
>>   	INIT_LIST_HEAD(&decay_list);
>>   
>>   	for (i = 0; i < MAX_VA_SIZE_PAGES; i++) {
>> -		struct list_head tmp_list;
>> +		LIST_HEAD(tmp_list);
>>   
>>   		if (list_empty(&vn->pool[i].head))
>>   			continue;
>>   
>> -		INIT_LIST_HEAD(&tmp_list);
>> -
>>   		/* Detach the pool, so no-one can access it. */
>>   		spin_lock(&vn->pool_lock);
>>   		list_replace_init(&vn->pool[i].head, &tmp_list);
>> -- 
>> 2.34.1
>>
> Maybe extend it to:
> 
> <snip>
> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
> index 57862865e808..e9c6f29a46ad 100644
> --- a/mm/vmalloc.c
> +++ b/mm/vmalloc.c
> @@ -2131,23 +2131,18 @@ reclaim_list_global(struct list_head *head)
>   static void
>   decay_va_pool_node(struct vmap_node *vn, bool full_decay)
>   {
> +	struct rb_root decay_root = RB_ROOT;
> +	LIST_HEAD(decay_list);
yeah, seems reasonable, and thank you!

Thanks,
Hongbo

>   	struct vmap_area *va, *nva;
> -	struct list_head decay_list;
> -	struct rb_root decay_root;
>   	unsigned long n_decay;
>   	int i;
>   
> -	decay_root = RB_ROOT;
> -	INIT_LIST_HEAD(&decay_list);
> -
>   	for (i = 0; i < MAX_VA_SIZE_PAGES; i++) {
> -		struct list_head tmp_list;
> +		LIST_HEAD(tmp_list);
>   
>   		if (list_empty(&vn->pool[i].head))
>   			continue;
>   
> -		INIT_LIST_HEAD(&tmp_list);
> -
>   		/* Detach the pool, so no-one can access it. */
>   		spin_lock(&vn->pool_lock);
>   		list_replace_init(&vn->pool[i].head, &tmp_list);
> <snip>
> 
> ?
> 
> --
> Uladzislau Rezki
diff mbox series

Patch

diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 3f9b6bd707d2..3f7b38481fcc 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -2141,13 +2141,11 @@  decay_va_pool_node(struct vmap_node *vn, bool full_decay)
 	INIT_LIST_HEAD(&decay_list);
 
 	for (i = 0; i < MAX_VA_SIZE_PAGES; i++) {
-		struct list_head tmp_list;
+		LIST_HEAD(tmp_list);
 
 		if (list_empty(&vn->pool[i].head))
 			continue;
 
-		INIT_LIST_HEAD(&tmp_list);
-
 		/* Detach the pool, so no-one can access it. */
 		spin_lock(&vn->pool_lock);
 		list_replace_init(&vn->pool[i].head, &tmp_list);