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@intel.com>
---
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 30782478b18e2..b4b1c3e0fbfd9 100644
--- a/drivers/crypto/intel/iaa/iaa_crypto_main.c
+++ b/drivers/crypto/intel/iaa/iaa_crypto_main.c
@@ -2781,6 +2781,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",
@@ -2806,6 +2807,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