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