The quilt patch titled Subject: mm/zswap: remove the memcpy if acomp is not sleepable has been removed from the -mm tree. Its filename was mm-zswap-remove-the-memcpy-if-acomp-is-not-sleepable.patch This patch was dropped because an updated version will be merged ------------------------------------------------------ From: Barry Song <v-songbaohua@xxxxxxxx> Subject: mm/zswap: remove the memcpy if acomp is not sleepable Date: Sat, 17 Feb 2024 17:51:01 +1300 Most compressors are actually CPU-based and won't sleep during compression and decompression. We should remove the redundant memcpy for them. Link: https://lkml.kernel.org/r/20240217045102.55339-3-21cnbao@xxxxxxxxx Signed-off-by: Barry Song <v-songbaohua@xxxxxxxx> Tested-by: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx> Reviewed-by: Nhat Pham <nphamcs@xxxxxxxxx> Acked-by: Yosry Ahmed <yosryahmed@xxxxxxxxxx> Reviewed-by: Chengming Zhou <zhouchengming@xxxxxxxxxxxxx> Cc: Chris Li <chrisl@xxxxxxxxxx> Cc: Dan Streetman <ddstreet@xxxxxxxx> Cc: David S. Miller <davem@xxxxxxxxxxxxx> Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Cc: Johannes Weiner <hannes@xxxxxxxxxxx> Cc: Seth Jennings <sjenning@xxxxxxxxxx> Cc: Vitaly Wool <vitaly.wool@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- mm/zswap.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) --- a/mm/zswap.c~mm-zswap-remove-the-memcpy-if-acomp-is-not-sleepable +++ a/mm/zswap.c @@ -162,6 +162,7 @@ struct crypto_acomp_ctx { struct crypto_wait wait; u8 *buffer; struct mutex mutex; + bool is_sleepable; }; /* @@ -973,6 +974,7 @@ static int zswap_cpu_comp_prepare(unsign goto acomp_fail; } acomp_ctx->acomp = acomp; + acomp_ctx->is_sleepable = acomp_is_sleepable(acomp); req = acomp_request_alloc(acomp_ctx->acomp); if (!req) { @@ -1101,7 +1103,7 @@ static void zswap_decompress(struct zswa mutex_lock(&acomp_ctx->mutex); src = zpool_map_handle(zpool, entry->handle, ZPOOL_MM_RO); - if (!zpool_can_sleep_mapped(zpool)) { + if (acomp_ctx->is_sleepable && !zpool_can_sleep_mapped(zpool)) { memcpy(acomp_ctx->buffer, src, entry->length); src = acomp_ctx->buffer; zpool_unmap_handle(zpool, entry->handle); @@ -1115,7 +1117,7 @@ static void zswap_decompress(struct zswa BUG_ON(acomp_ctx->req->dlen != PAGE_SIZE); mutex_unlock(&acomp_ctx->mutex); - if (zpool_can_sleep_mapped(zpool)) + if (!acomp_ctx->is_sleepable || zpool_can_sleep_mapped(zpool)) zpool_unmap_handle(zpool, entry->handle); } _ Patches currently in -mm which might be from v-songbaohua@xxxxxxxx are zram-do-not-allocate-physically-contiguous-strm-buffers.patch crypto-scompress-remove-memcpy-if-sg_nents-is-1.patch