mm/swap_slots.c: simplify enable_swap_slots_cache()
authorZhen Lei <thunder.leizhen@huawei.com>
Fri, 7 Aug 2020 06:20:08 +0000 (23:20 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 7 Aug 2020 18:33:23 +0000 (11:33 -0700)
Whether swap_slot_cache_initialized is true or false,
__reenable_swap_slots_cache() is always called.  To make this meaning
clear, leave only one call to __reenable_swap_slots_cache().  This also
make it clearer what extra needs be done when swap_slot_cache_initialized
is false.

No functional change.

Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Tim Chen <tim.c.chen@linux.intel.com>
Link: http://lkml.kernel.org/r/20200430061143.450-3-thunder.leizhen@huawei.com
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mm/swap_slots.c

index 01609b5..b403944 100644 (file)
@@ -240,21 +240,19 @@ static int free_slot_cache(unsigned int cpu)
 
 int enable_swap_slots_cache(void)
 {
-       int ret = 0;
-
        mutex_lock(&swap_slots_cache_enable_mutex);
-       if (swap_slot_cache_initialized) {
-               __reenable_swap_slots_cache();
-               goto out_unlock;
-       }
+       if (!swap_slot_cache_initialized) {
+               int ret;
 
-       ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "swap_slots_cache",
-                               alloc_swap_slot_cache, free_slot_cache);
-       if (WARN_ONCE(ret < 0, "Cache allocation failed (%s), operating "
-                              "without swap slots cache.\n", __func__))
-               goto out_unlock;
+               ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "swap_slots_cache",
+                                       alloc_swap_slot_cache, free_slot_cache);
+               if (WARN_ONCE(ret < 0, "Cache allocation failed (%s), operating "
+                                      "without swap slots cache.\n", __func__))
+                       goto out_unlock;
+
+               swap_slot_cache_initialized = true;
+       }
 
-       swap_slot_cache_initialized = true;
        __reenable_swap_slots_cache();
 out_unlock:
        mutex_unlock(&swap_slots_cache_enable_mutex);