RE: [PATCH v11 19/24] crypto: iaa - IAA acomp_algs register the get_batch_size() interface.

From: Sridhar, Kanchana P
Date: Thu Aug 28 2025 - 23:12:36 EST



> -----Original Message-----
> From: Barry Song <21cnbao@xxxxxxxxx>
> Sent: Thursday, August 28, 2025 5:17 PM
> To: Sridhar, Kanchana P <kanchana.p.sridhar@xxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx; linux-mm@xxxxxxxxx;
> hannes@xxxxxxxxxxx; yosry.ahmed@xxxxxxxxx; nphamcs@xxxxxxxxx;
> chengming.zhou@xxxxxxxxx; usamaarif642@xxxxxxxxx;
> ryan.roberts@xxxxxxx; ying.huang@xxxxxxxxxxxxxxxxx; akpm@linux-
> foundation.org; senozhatsky@xxxxxxxxxxxx; linux-crypto@xxxxxxxxxxxxxxx;
> herbert@xxxxxxxxxxxxxxxxxxx; davem@xxxxxxxxxxxxx;
> clabbe@xxxxxxxxxxxx; ardb@xxxxxxxxxx; ebiggers@xxxxxxxxxx;
> surenb@xxxxxxxxxx; Accardi, Kristen C <kristen.c.accardi@xxxxxxxxx>;
> Gomes, Vinicius <vinicius.gomes@xxxxxxxxx>; Feghali, Wajdi K
> <wajdi.k.feghali@xxxxxxxxx>; Gopal, Vinodh <vinodh.gopal@xxxxxxxxx>
> Subject: Re: [PATCH v11 19/24] crypto: iaa - IAA acomp_algs register the
> get_batch_size() interface.
>
> On Fri, Aug 1, 2025 at 4:36 PM Kanchana P Sridhar
> <kanchana.p.sridhar@xxxxxxxxx> wrote:
> >
> > 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,
>
> I feel the patches are being split too finely and are not fully
> self-contained. You added iaa_comp_get_max_batch_size in the previous
> patch, but the callback appears in this one. Why not combine them
> together? Anyway, since you are moving to a static field, this patch
> will be removed automatically.

Yes, based on your earlier suggestion I have made the note to bundle
related patches :)

Thanks,
Kanchana