[dm-devel] [PATCH] dm-writecache: set MAX_WRITEBACK_JOBS
Mikulas Patocka
mpatocka at redhat.com
Wed Jul 13 11:09:04 UTC 2022
dm-writecache has the capability to limit the number of writeback jobs in
progress. However, this feature is off by default. There were some
observed out-of-memory crashes when lowering the low watermark while the
cache is full.
This commit enables writeback limit by default. It is set to 1GiB or 1/16
of total system memory, whichever is smaller.
Signed-off-by: Mikulas Patocka <mpatocka at redhat.com>
---
drivers/md/dm-writecache.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: linux-2.6/drivers/md/dm-writecache.c
===================================================================
--- linux-2.6.orig/drivers/md/dm-writecache.c 2022-07-13 13:07:52.000000000 +0200
+++ linux-2.6/drivers/md/dm-writecache.c 2022-07-13 13:08:19.000000000 +0200
@@ -22,7 +22,7 @@
#define HIGH_WATERMARK 50
#define LOW_WATERMARK 45
-#define MAX_WRITEBACK_JOBS 0
+#define MAX_WRITEBACK_JOBS min(0x10000000 / PAGE_SIZE, totalram_pages() / 16)
#define ENDIO_LATENCY 16
#define WRITEBACK_LATENCY 64
#define AUTOCOMMIT_BLOCKS_SSD 65536
More information about the dm-devel
mailing list