The Fixed ("deflate-iaa") and Dynamic ("deflate-iaa-dynamic") IAA acomp_algs register an implementation for get_batch_size(). zswap can query crypto_acomp_batch_size() to get the maximum number of requests that can be batch [de]compressed. zswap can use the minimum of this, and any zswap-specific upper limits for batch-size to allocate batching resources. This enables zswap to compress/decompress pages in parallel in the IAA hardware accelerator to improve swapout/swapin performance and memory savings. Signed-off-by: Kanchana P Sridhar <kanchana.p.sridhar@xxxxxxxxx> --- drivers/crypto/intel/iaa/iaa_crypto_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/crypto/intel/iaa/iaa_crypto_main.c b/drivers/crypto/intel/iaa/iaa_crypto_main.c index 480e12c1d77a5..b7c6fc334dae7 100644 --- a/drivers/crypto/intel/iaa/iaa_crypto_main.c +++ b/drivers/crypto/intel/iaa/iaa_crypto_main.c @@ -2785,6 +2785,7 @@ static struct acomp_alg iaa_acomp_fixed_deflate = { .init = iaa_comp_init_fixed, .compress = iaa_comp_acompress_main, .decompress = iaa_comp_adecompress_main, + .get_batch_size = iaa_comp_get_max_batch_size, .base = { .cra_name = "deflate", .cra_driver_name = "deflate-iaa", @@ -2810,6 +2811,7 @@ static struct acomp_alg iaa_acomp_dynamic_deflate = { .init = iaa_comp_init_dynamic, .compress = iaa_comp_acompress_main, .decompress = iaa_comp_adecompress_main, + .get_batch_size = iaa_comp_get_max_batch_size, .base = { .cra_name = "deflate", .cra_driver_name = "deflate-iaa-dynamic", -- 2.27.0