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 |
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
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 --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);
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(-)