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

From: Barry Song
Date: Tue Feb 20 2024 - 01:45:25 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


This patchset applies to mm-unstable as recently zswap has
lots of change.

-v5:
* remove the helper of exposing algorithm flags, alternative directly
expose acomp_is_async() by test ASYNC flag according to Herbert;
* remove the fixes of cra_flags for intel and hisilicon async drivers,
they are separated patches[1] according to Herbert

[1] https://lore.kernel.org/linux-crypto/20240220044222.197614-1-v-songbaohua@xxxxxxxx/

Barry Song (3):
crypto: introduce: acomp_is_async 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/scompress.c | 36 +++++++++++++++++++++++++++++-------
include/crypto/acompress.h | 6 ++++++
mm/zswap.c | 6 ++++--
3 files changed, 39 insertions(+), 9 deletions(-)

--
2.34.1