[PATCH] mm/slab_common: reduce an if statement in create_cache()

Zhen Lei posted 1 patch 2 years, 8 months ago
mm/slab_common.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
[PATCH] mm/slab_common: reduce an if statement in create_cache()
Posted by Zhen Lei 2 years, 8 months ago
Move the 'out:' statement block out of the successful path to avoid
redundant check on 'err'. The value of 'err' is always zero on success
and negative on failure.

No functional changes, no performance improvements, just a little more
readability.

Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
---
 mm/slab_common.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/mm/slab_common.c b/mm/slab_common.c
index 607249785c077e9..f6fe35105774944 100644
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@ -236,14 +236,12 @@ static struct kmem_cache *create_cache(const char *name,
 
 	s->refcount = 1;
 	list_add(&s->list, &slab_caches);
-out:
-	if (err)
-		return ERR_PTR(err);
 	return s;
 
 out_free_cache:
 	kmem_cache_free(kmem_cache, s);
-	goto out;
+out:
+	return ERR_PTR(err);
 }
 
 /**
-- 
2.25.1
Re: [PATCH] mm/slab_common: reduce an if statement in create_cache()
Posted by Hyeonggon Yoo 2 years, 8 months ago
On Tue, Jun 06, 2023 at 02:55:43PM +0800, Zhen Lei wrote:
> Move the 'out:' statement block out of the successful path to avoid
> redundant check on 'err'. The value of 'err' is always zero on success
> and negative on failure.
> 
> No functional changes, no performance improvements, just a little more
> readability.
> 
> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
> ---
>  mm/slab_common.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/mm/slab_common.c b/mm/slab_common.c
> index 607249785c077e9..f6fe35105774944 100644
> --- a/mm/slab_common.c
> +++ b/mm/slab_common.c
> @@ -236,14 +236,12 @@ static struct kmem_cache *create_cache(const char *name,
>  
>  	s->refcount = 1;
>  	list_add(&s->list, &slab_caches);
> -out:
> -	if (err)
> -		return ERR_PTR(err);
>  	return s;
>  
>  out_free_cache:
>  	kmem_cache_free(kmem_cache, s);
> -	goto out;
> +out:
> +	return ERR_PTR(err);
>  }
>  
>  /**

Hi Zhen,
nice cleanup!

Looks correct to me,
Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>

> -- 
> 2.25.1
> 

-- 
Hyeonggon Yoo

Doing kernel stuff as a hobby
Undergraduate | Chungnam National University
Dept. Computer Science & Engineering
Re: [PATCH] mm/slab_common: reduce an if statement in create_cache()
Posted by Vlastimil Babka 2 years, 8 months ago
On 6/6/23 09:48, Hyeonggon Yoo wrote:
> On Tue, Jun 06, 2023 at 02:55:43PM +0800, Zhen Lei wrote:
>> Move the 'out:' statement block out of the successful path to avoid
>> redundant check on 'err'. The value of 'err' is always zero on success
>> and negative on failure.
>> 
>> No functional changes, no performance improvements, just a little more
>> readability.
>> 
>> Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
>> ---
>>  mm/slab_common.c | 6 ++----
>>  1 file changed, 2 insertions(+), 4 deletions(-)
>> 
>> diff --git a/mm/slab_common.c b/mm/slab_common.c
>> index 607249785c077e9..f6fe35105774944 100644
>> --- a/mm/slab_common.c
>> +++ b/mm/slab_common.c
>> @@ -236,14 +236,12 @@ static struct kmem_cache *create_cache(const char *name,
>>  
>>  	s->refcount = 1;
>>  	list_add(&s->list, &slab_caches);
>> -out:
>> -	if (err)
>> -		return ERR_PTR(err);
>>  	return s;
>>  
>>  out_free_cache:
>>  	kmem_cache_free(kmem_cache, s);
>> -	goto out;
>> +out:
>> +	return ERR_PTR(err);
>>  }
>>  
>>  /**
> 
> Hi Zhen,
> nice cleanup!
> 
> Looks correct to me,
> Reviewed-by: Hyeonggon Yoo <42.hyeyoo@gmail.com>

Thanks, added to slab/for-6.5/cleanup

>> -- 
>> 2.25.1
>> 
>