2023-06-15 01:39:19

by Sergey Senozhatsky

[permalink] [raw]
Subject: [PATCHv2] zram: further limit recompression threshold

Recompression threshold should be below huge-size-class watermark.
Any object larger than huge-size-class is a "huge object" and
occupies a whole physical page on the zsmalloc side, in other
words it's incompressible, as far as zsmalloc is concerned.

Suggested-by: Brian Geffon <[email protected]>
Signed-off-by: Sergey Senozhatsky <[email protected]>
---
drivers/block/zram/zram_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/block/zram/zram_drv.c b/drivers/block/zram/zram_drv.c
index 1867f378b319..5676e6dd5b16 100644
--- a/drivers/block/zram/zram_drv.c
+++ b/drivers/block/zram/zram_drv.c
@@ -1753,7 +1753,7 @@ static ssize_t recompress_store(struct device *dev,
}
}

- if (threshold >= PAGE_SIZE)
+ if (threshold >= huge_class_size)
return -EINVAL;

down_read(&zram->init_lock);
--
2.41.0.162.gfafddb0af9-goog