Merge tag 'kernel.sys.v5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/brauner...
[linux-2.6-microblaze.git] / mm / khugepaged.c
index 5f02fda..e991011 100644 (file)
@@ -2299,6 +2299,11 @@ static void set_recommended_min_free_kbytes(void)
        int nr_zones = 0;
        unsigned long recommended_min;
 
+       if (!khugepaged_enabled()) {
+               calculate_min_free_kbytes();
+               goto update_wmarks;
+       }
+
        for_each_populated_zone(zone) {
                /*
                 * We don't need to worry about fragmentation of
@@ -2334,6 +2339,8 @@ static void set_recommended_min_free_kbytes(void)
 
                min_free_kbytes = recommended_min;
        }
+
+update_wmarks:
        setup_per_zone_wmarks();
 }
 
@@ -2355,12 +2362,11 @@ int start_stop_khugepaged(void)
 
                if (!list_empty(&khugepaged_scan.mm_head))
                        wake_up_interruptible(&khugepaged_wait);
-
-               set_recommended_min_free_kbytes();
        } else if (khugepaged_thread) {
                kthread_stop(khugepaged_thread);
                khugepaged_thread = NULL;
        }
+       set_recommended_min_free_kbytes();
 fail:
        mutex_unlock(&khugepaged_mutex);
        return err;