Re: [PATCH v6 0/2] zswap: remove the memcpy if acomp is not sleepable

From: Johannes Weiner
Date: Fri Mar 08 2024 - 07:12:07 EST


On Thu, Feb 22, 2024 at 09:11:33PM +1300, Barry Song wrote:
> From: Barry Song <v-songbaohua@xxxxxxxx>
>
> In zswap, if we use zsmalloc, we cannot sleep while we map the
> compressed memory, so we copy it to a temporary buffer. By
> knowing the alg won't sleep can help zswap to avoid the
> memcpy.
> Thus we introduce an API in crypto to expose if acomp is async,
> and zswap can use it to decide if it can remove copying to the
> tmp buffer.
>
> -v6:
> * add acked-by of Herbert, Thanks!
> * remove patch 3/3 from the series, as that one will go
> through crypto
>
> Barry Song (2):
> crypto: introduce: acomp_is_async to expose if comp drivers might
> sleep
> mm/zswap: remove the memcpy if acomp is not sleepable
>
> include/crypto/acompress.h | 6 ++++++
> mm/zswap.c | 6 ++++--
> 2 files changed, 10 insertions(+), 2 deletions(-)

Acked-by: Johannes Weiner <hannes@xxxxxxxxxxx>

Looks good to me.

One small question: why cache is_sleepable in zswap instead of
checking acomp_is_async() directly? It doesn't look expensive.