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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> ---
>  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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux