summaryrefslogtreecommitdiffstats
path: root/ipc
diff options
context:
space:
mode:
authorChengming Zhou <zhouchengming@bytedance.com>2023-12-28 09:45:42 +0000
committerAndrew Morton <akpm@linux-foundation.org>2023-12-29 11:58:28 -0800
commitc75f5c1e0f1d231278f42123ee46ba6c0e2b6a96 (patch)
treed83ad9f71fceae7e79c3cc5e7e89fecb415ac842 /ipc
parent0710f38ad26a6ac08a9154382fd3abf4e84c9092 (diff)
downloadlinux-stable-c75f5c1e0f1d231278f42123ee46ba6c0e2b6a96.tar.gz
linux-stable-c75f5c1e0f1d231278f42123ee46ba6c0e2b6a96.tar.bz2
linux-stable-c75f5c1e0f1d231278f42123ee46ba6c0e2b6a96.zip
mm/zswap: reuse dstmem when decompress
Patch series "mm/zswap: dstmem reuse optimizations and cleanups", v5. The problem this series tries to optimize is that zswap_load() and zswap_writeback_entry() have to malloc a temporary memory to support !zpool_can_sleep_mapped(). We can avoid it by reusing the percpu crypto_acomp_ctx->dstmem, which is also used by zswap_store() and protected by the same percpu crypto_acomp_ctx->mutex. This patch (of 5): In the !zpool_can_sleep_mapped() case such as zsmalloc, we need to first copy the entry->handle memory to a temporary memory, which is allocated using kmalloc. Obviously we can reuse the per-compressor dstmem to avoid allocating every time, since it's percpu-compressor and protected in percpu mutex. Link: https://lkml.kernel.org/r/20231213-zswap-dstmem-v5-0-9382162bbf05@bytedance.com Link: https://lkml.kernel.org/r/20231213-zswap-dstmem-v5-1-9382162bbf05@bytedance.com Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com> Reviewed-by: Nhat Pham <nphamcs@gmail.com> Reviewed-by: Yosry Ahmed <yosryahmed@google.com> Acked-by: Chris Li <chrisl@kernel.org> (Google) Cc: Barry Song <21cnbao@gmail.com> Cc: Dan Streetman <ddstreet@ieee.org> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Seth Jennings <sjenning@redhat.com> Cc: Vitaly Wool <vitaly.wool@konsulko.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions