[PATCH] mm: Set min_free_kbytes with user_min_free_kbytes when user_min_free_kbytes is preferred

From: Liangcai Fan
Date: Tue Sep 28 2021 - 08:23:47 EST


The 'min_free_kbytes' and 'user_min_free_kbytes' maybe inconsistent
after a few times of memory hotplug.
When 'new_min_free_kbytes' is not larger than 'user_min_free_kbytes',
set 'min_free_kbytes' with 'user_min_free_kbytes' rather than leave
it as the 'new_min_free_kbytes' calculated for the last time.

Signed-off-by: Liangcai Fan <liangcaifan19@xxxxxxxxx>
Cc: Chunyan Zhang <zhang.lyra@xxxxxxxxx>
---
mm/page_alloc.c | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index b37435c..ddf9dc1 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -8467,6 +8467,12 @@ int __meminit init_per_zone_wmark_min(void)
if (min_free_kbytes > 262144)
min_free_kbytes = 262144;
} else {
+ /*
+ * Set 'min_free_kbytes' with 'user_min_free_kbytes' rather than
+ * leave it as the 'new_min_free_kbytes' calculated for the last
+ * time.
+ */
+ min_free_kbytes = user_min_free_kbytes;
pr_warn("min_free_kbytes is not updated to %d because user defined value %d is preferred\n",
new_min_free_kbytes, user_min_free_kbytes);
}
--
1.9.1