Re: [PATCH v4 01/10] crypto: acomp - Define two new interfaces for compress/decompress batching.
From: Herbert Xu
Date: Mon Nov 25 2024 - 04:39:01 EST
On Fri, Nov 22, 2024 at 11:01:18PM -0800, Kanchana P Sridhar wrote:
> This commit adds batch_compress() and batch_decompress() interfaces to:
>
> struct acomp_alg
> struct crypto_acomp
>
> This allows the iaa_crypto Intel IAA driver to register implementations for
> the batch_compress() and batch_decompress() API, that can subsequently be
> invoked from the kernel zswap/zram swap modules to compress/decompress
> up to CRYPTO_BATCH_SIZE (i.e. 8) pages in parallel in the IAA hardware
> accelerator to improve swapout/swapin performance.
>
> A new helper function acomp_has_async_batching() can be invoked to query
> if a crypto_acomp has registered these batch_compress and batch_decompress
> interfaces.
>
> Signed-off-by: Kanchana P Sridhar <kanchana.p.sridhar@xxxxxxxxx>
> ---
> crypto/acompress.c | 2 +
> include/crypto/acompress.h | 91 +++++++++++++++++++++++++++++
> include/crypto/internal/acompress.h | 16 +++++
> 3 files changed, 109 insertions(+)
This should be rebased on top of my request chaining patch:
https://lore.kernel.org/linux-crypto/677614fbdc70b31df2e26483c8d2cd1510c8af91.1730021644.git.herbert@xxxxxxxxxxxxxxxxxxx/
Request chaining provides a perfect fit for batching.
Cheers,
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt