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@xxxxxxxxxx> --- 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 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel