> -----Original Message----- > From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> > Sent: Tuesday, October 22, 2024 7:58 PM > To: Sridhar, Kanchana P <kanchana.p.sridhar@xxxxxxxxx> > Cc: Yosry Ahmed <yosryahmed@xxxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; > linux-mm@xxxxxxxxx; hannes@xxxxxxxxxxx; nphamcs@xxxxxxxxx; > chengming.zhou@xxxxxxxxx; usamaarif642@xxxxxxxxx; > ryan.roberts@xxxxxxx; Huang, Ying <ying.huang@xxxxxxxxx>; > 21cnbao@xxxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx; linux- > crypto@xxxxxxxxxxxxxxx; davem@xxxxxxxxxxxxx; clabbe@xxxxxxxxxxxx; > ardb@xxxxxxxxxx; ebiggers@xxxxxxxxxx; surenb@xxxxxxxxxx; Accardi, > Kristen C <kristen.c.accardi@xxxxxxxxx>; zanussi@xxxxxxxxxx; > viro@xxxxxxxxxxxxxxxxxx; brauner@xxxxxxxxxx; jack@xxxxxxx; > mcgrof@xxxxxxxxxx; kees@xxxxxxxxxx; joel.granados@xxxxxxxxxx; > bfoster@xxxxxxxxxx; willy@xxxxxxxxxxxxx; linux-fsdevel@xxxxxxxxxxxxxxx; > Feghali, Wajdi K <wajdi.k.feghali@xxxxxxxxx>; Gopal, Vinodh > <vinodh.gopal@xxxxxxxxx> > Subject: Re: [RFC PATCH v1 09/13] mm: zswap: Config variable to enable > compress batching in zswap_store(). > > On Wed, Oct 23, 2024 at 02:17:06AM +0000, Sridhar, Kanchana P wrote: > > > > Thanks Yosry, for the code review comments! This is a good point. The main > > consideration here was not to impact software compressors run on non- > Intel > > platforms, and only incur the memory footprint cost of multiple > > acomp_req/buffers in "struct crypto_acomp_ctx" if there is IAA to reduce > > latency with parallel compressions. > > I'm working on a batching mechanism for crypto_ahash interface, > where the requests are simply chained together and then submitted. > > The same mechanism should work for crypto_acomp as well: > > + for (i = 0; i < num_mb; ++i) { > + if (testmgr_alloc_buf(data[i].xbuf)) > + goto out; > + > + crypto_init_wait(&data[i].wait); > + > + data[i].req = ahash_request_alloc(tfm, GFP_KERNEL); > + if (!data[i].req) { > + pr_err("alg: hash: Failed to allocate request for %s\n", > + algo); > + goto out; > + } > + > + if (i) > + ahash_request_chain(data[i].req, data[0].req); > + else > + ahash_reqchain_init(data[i].req, 0, crypto_req_done, > + &data[i].wait); > + > + sg_init_table(data[i].sg, XBUFSIZE); > + for (j = 0; j < XBUFSIZE; j++) { > + sg_set_buf(data[i].sg + j, data[i].xbuf[j], PAGE_SIZE); > + memset(data[i].xbuf[j], 0xff, PAGE_SIZE); > + } > + } Thanks Herbert, for letting us know! Sure, we will look forward to these changes when they are ready, to look into incorporating in the iaa_crypto driver. Thanks, Kanchana > > Cheers, > -- > Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> > Home Page: http://gondor.apana.org.au/~herbert/ > PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt