[PATCH v3 0/3] mm/zswap & crypto/compress: remove a couple of memcpy

From: Barry Song
Date: Fri Feb 16 2024 - 23:51:33 EST


From: Barry Song <v-songbaohua@xxxxxxxx>

The patchset removes a couple of memcpy in zswap and crypto
to improve zswap's performance.

Thanks for Chengming Zhou's test and perf data.
Quote from Chengming,
I just tested these three patches on my server, found improvement in the
kernel build testcase on a tmpfs with zswap (lz4 + zsmalloc) enabled.

mm-stable 501a06fe8e4c patched
real 1m38.028s 1m32.317s
user 19m11.482s 18m39.439s
sys 19m26.445s 17m5.646s


-v3:
* collect Acked-by of Yosry, Reviewed-by of Chengming
* enhance commit message with respect to Yosry's comment

Hi Andrew, Herbert,

As zswap is the direct use of this patchset and zswap benefits from
this series, It is probably better for this patchset to go through
Andrew's mm tree than Herbert's crypto tree if there is no objection
from Herbert.

Barry Song (3):
crypto: introduce acomp_is_sleepable to expose if comp drivers might
sleep
mm/zswap: remove the memcpy if acomp is not sleepable
crypto: scompress: remove memcpy if sg_nents is 1

crypto/acompress.c | 8 ++++++++
crypto/scompress.c | 36 +++++++++++++++++++++++++++++-------
include/crypto/acompress.h | 9 +++++++++
mm/zswap.c | 6 ++++--
4 files changed, 50 insertions(+), 9 deletions(-)

--
2.34.1