| From: Sergey Senozhatsky <senozhatsky@chromium.org> |
| Subject: zram: further limit recompression threshold |
| Date: Wed, 14 Jun 2023 23:13:12 +0900 |
| |
| 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. |
| |
| Link: https://lkml.kernel.org/r/20230614141338.3480029-1-senozhatsky@chromium.org |
| Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org> |
| Suggested-by: Brian Geffon <bgeffon@google.com> |
| Acked-by: Brian Geffon <bgeffon@google.com> |
| Cc: Jens Axboe <axboe@kernel.dk> |
| Cc: Minchan Kim <minchan@kernel.org> |
| Cc: Sergey Senozhatsky <senozhatsky@chromium.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| drivers/block/zram/zram_drv.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/drivers/block/zram/zram_drv.c~zram-further-limit-recompression-threshold |
| +++ a/drivers/block/zram/zram_drv.c |
| @@ -1753,7 +1753,7 @@ static ssize_t recompress_store(struct d |
| } |
| } |
| |
| - if (threshold >= PAGE_SIZE) |
| + if (threshold >= huge_class_size) |
| return -EINVAL; |
| |
| down_read(&zram->init_lock); |
| _ |