Hi Herbert, > -----Original Message----- > From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> > Sent: Friday, October 18, 2024 12:55 AM > To: Sridhar, Kanchana P <kanchana.p.sridhar@xxxxxxxxx> > Cc: linux-kernel@xxxxxxxxxxxxxxx; linux-mm@xxxxxxxxx; > hannes@xxxxxxxxxxx; yosryahmed@xxxxxxxxxx; 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 01/13] crypto: acomp - Add a poll() operation to > acomp_alg and acomp_req > > On Thu, Oct 17, 2024 at 11:40:49PM -0700, Kanchana P Sridhar wrote: > > For async compress/decompress, provide a way for the caller to poll > > for compress/decompress completion, rather than wait for an interrupt > > to signal completion. > > > > Callers can submit a compress/decompress using crypto_acomp_compress > > and decompress and rather than wait on a completion, call > > crypto_acomp_poll() to check for completion. > > > > This is useful for hardware accelerators where the overhead of > > interrupts and waiting for completions is too expensive. Typically > > the compress/decompress hw operations complete very quickly and in the > > vast majority of cases, adding the overhead of interrupt handling and > > waiting for completions simply adds unnecessary delays and cancels the > > gains of using the hw acceleration. > > > > Signed-off-by: Tom Zanussi <tom.zanussi@xxxxxxxxxxxxxxx> > > Signed-off-by: Kanchana P Sridhar <kanchana.p.sridhar@xxxxxxxxx> > > --- > > crypto/acompress.c | 1 + > > include/crypto/acompress.h | 18 ++++++++++++++++++ > > include/crypto/internal/acompress.h | 1 + > > 3 files changed, 20 insertions(+) > > How about just adding a request flag that tells the driver to > make the request synchronous if possible? > > Something like > > #define CRYPTO_ACOMP_REQ_POLL 0x00000001 Thanks for your code review comments. Are you referring to how the async/poll interface is enabled at the level of say zswap (by setting a flag in the acomp_req), followed by the iaa_crypto driver testing for the flag and submitting the request and returning -EINPROGRESS. Wouldn't we still need a separate API to do the polling? I am not the expert on this, and would like to request Kristen's inputs on whether this is feasible. 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