2018-12-29 13:10:29

by Peng Wang

[permalink] [raw]
Subject: [PATCH] mm/slub.c: freelist is ensured to be NULL when new_slab() fails

new_slab_objects() will return immediately if freelist is not NULL.

if (freelist)
return freelist;

One more assignment operation could be avoided.

Signed-off-by: Peng Wang <[email protected]>
---
mm/slub.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index 36c0befeebd8..cf2ef4ababff 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2463,8 +2463,7 @@ static inline void *new_slab_objects(struct kmem_cache *s, gfp_t flags,
stat(s, ALLOC_SLAB);
c->page = page;
*pc = c;
- } else
- freelist = NULL;
+ }

return freelist;
}
--
2.19.1



2018-12-29 18:28:56

by Pekka Enberg

[permalink] [raw]
Subject: Re: [PATCH] mm/slub.c: freelist is ensured to be NULL when new_slab() fails

On 29/12/2018 8.25, Peng Wang wrote:
> new_slab_objects() will return immediately if freelist is not NULL.
>
> if (freelist)
> return freelist;
>
> One more assignment operation could be avoided.
>
> Signed-off-by: Peng Wang <[email protected]>

Reviewed-by: Pekka Enberg <[email protected]>

> ---
> mm/slub.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/mm/slub.c b/mm/slub.c
> index 36c0befeebd8..cf2ef4ababff 100644
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -2463,8 +2463,7 @@ static inline void *new_slab_objects(struct kmem_cache *s, gfp_t flags,
> stat(s, ALLOC_SLAB);
> c->page = page;
> *pc = c;
> - } else
> - freelist = NULL;
> + }
>
> return freelist;
> }
>

2019-01-03 02:04:45

by David Rientjes

[permalink] [raw]
Subject: Re: [PATCH] mm/slub.c: freelist is ensured to be NULL when new_slab() fails

On Sat, 29 Dec 2018, Peng Wang wrote:

> new_slab_objects() will return immediately if freelist is not NULL.
>
> if (freelist)
> return freelist;
>
> One more assignment operation could be avoided.
>
> Signed-off-by: Peng Wang <[email protected]>

Acked-by: David Rientjes <[email protected]>