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