summarylogtreecommitdiffstats
path: root/0014-ZEN-mm-Disable-watermark-boosting-by-default.patch
diff options
context:
space:
mode:
Diffstat (limited to '0014-ZEN-mm-Disable-watermark-boosting-by-default.patch')
-rw-r--r--0014-ZEN-mm-Disable-watermark-boosting-by-default.patch45
1 files changed, 0 insertions, 45 deletions
diff --git a/0014-ZEN-mm-Disable-watermark-boosting-by-default.patch b/0014-ZEN-mm-Disable-watermark-boosting-by-default.patch
deleted file mode 100644
index 82cc95865f15..000000000000
--- a/0014-ZEN-mm-Disable-watermark-boosting-by-default.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Sultan Alsawaf <sultan@kerneltoast.com>
-Date: Sat, 28 Mar 2020 13:06:28 -0700
-Subject: [PATCH] ZEN: mm: Disable watermark boosting by default
-
-What watermark boosting does is preemptively fire up kswapd to free
-memory when there hasn't been an allocation failure. It does this by
-increasing kswapd's high watermark goal and then firing up kswapd. The
-reason why this causes freezes is because, with the increased high
-watermark goal, kswapd will steal memory from processes that need it in
-order to make forward progress. These processes will, in turn, try to
-allocate memory again, which will cause kswapd to steal necessary pages
-from those processes again, in a positive feedback loop known as page
-thrashing. When page thrashing occurs, your system is essentially
-livelocked until the necessary forward progress can be made to stop
-processes from trying to continuously allocate memory and trigger
-kswapd to steal it back.
-
-This problem already occurs with kswapd *without* watermark boosting,
-but it's usually only encountered on machines with a small amount of
-memory and/or a slow CPU. Watermark boosting just makes the existing
-problem worse enough to notice on higher spec'd machines.
-
-Disable watermark boosting by default since it's a total dumpster fire.
-I can't imagine why anyone would want to explicitly enable it, but the
-option is there in case someone does.
-
-Signed-off-by: Sultan Alsawaf <sultan@kerneltoast.com>
----
- mm/page_alloc.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/mm/page_alloc.c b/mm/page_alloc.c
-index b5b14b78c4fd4844cb071022570fd4b7e6959eb2..d6fc4723c4e9137a3bf8193fcbad1bb23f041c43 100644
---- a/mm/page_alloc.c
-+++ b/mm/page_alloc.c
-@@ -342,7 +342,7 @@ compound_page_dtor * const compound_page_dtors[NR_COMPOUND_DTORS] = {
-
- int min_free_kbytes = 1024;
- int user_min_free_kbytes = -1;
--int watermark_boost_factor __read_mostly = 15000;
-+int watermark_boost_factor __read_mostly;
- int watermark_scale_factor = 10;
-
- static unsigned long nr_kernel_pages __initdata;