Re: [PATCH] mm/slab.c: Delete the if judgment and return the result directly Remove the if judgment and return the result directly to reduce assembly statements.

From: Vlastimil Babka
Date: Wed Jan 11 2023 - 04:16:25 EST


On 1/11/23 09:31, lvqian@xxxxxxxxxxxx wrote:
> From: lvqian <lvqian@xxxxxxxxxxxx>

The subject line is long, e.g. the second sentence should be part of body,
not subject.

Note the usual wording is "if statement" not "judgement"

> Remove the if judgment and return the result directly to reduce assembly statements.

I'm pretty sure there will be no effect on generated code/assembly, so it
should be purely about the C code readability. That's somewhat subjective,
but I think it's acceptable in this case.

> diff --git a/mm/slab.c b/mm/slab.c
> index 7a269db050ee..713265fe2dea 100644
> --- a/mm/slab.c
> +++ b/mm/slab.c
> @@ -1415,11 +1415,8 @@ static void kmem_rcu_free(struct rcu_head *head)
> #if DEBUG
> static bool is_debug_pagealloc_cache(struct kmem_cache *cachep)
> {
> - if (debug_pagealloc_enabled_static() && OFF_SLAB(cachep) &&
> - (cachep->size % PAGE_SIZE) == 0)
> - return true;
> -
> - return false;
> + return debug_pagealloc_enabled_static() && OFF_SLAB(cachep) &&
> + ((cachep->size % PAGE_SIZE) == 0);
> }
>
> #ifdef CONFIG_DEBUG_PAGEALLOC