[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <34318e00-fd1a-f8d7-14d4-0efa84b151d2@linux.intel.com>
Date: Fri, 1 May 2020 14:46:31 -0700
From: Tim Chen <tim.c.chen@...ux.intel.com>
To: Zhen Lei <thunder.leizhen@...wei.com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-mm <linux-mm@...ck.org>,
linux-kernel <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/3] mm/swap: simplify alloc_swap_slot_cache()
On 4/29/20 11:11 PM, Zhen Lei wrote:
> Both "slots" and "slots_ret" are only need to be freed when cache already
> allocated. Make them closer, seems more clear.
>
> No functional change.
>
> Signed-off-by: Zhen Lei <thunder.leizhen@...wei.com>
> ---
> mm/swap_slots.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/mm/swap_slots.c b/mm/swap_slots.c
> index 0975adc72253..01609b5f0c55 100644
> --- a/mm/swap_slots.c
> +++ b/mm/swap_slots.c
> @@ -136,9 +136,16 @@ static int alloc_swap_slot_cache(unsigned int cpu)
>
> mutex_lock(&swap_slots_cache_mutex);
> cache = &per_cpu(swp_slots, cpu);
> - if (cache->slots || cache->slots_ret)
> + if (cache->slots || cache->slots_ret) {
> /* cache already allocated */
> - goto out;
> + mutex_unlock(&swap_slots_cache_mutex);
> +
> + kvfree(slots);
> + kvfree(slots_ret);
> +
> + return 0;
> + }
> +
> if (!cache->lock_initialized) {
> mutex_init(&cache->alloc_lock);
> spin_lock_init(&cache->free_lock);
> @@ -155,15 +162,8 @@ static int alloc_swap_slot_cache(unsigned int cpu)
> */
> mb();
> cache->slots = slots;
> - slots = NULL;
> cache->slots_ret = slots_ret;
> - slots_ret = NULL;
> -out:
> mutex_unlock(&swap_slots_cache_mutex);
> - if (slots)
> - kvfree(slots);
> - if (slots_ret)
> - kvfree(slots_ret);
> return 0;
> }
>
>
Acked-by: Tim Chen <tim.c.chen@...ux.intel.com>
Powered by blists - more mailing lists