Re: [PATCH 1/9] crypto: add zbufsize() interface
From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2021-12-07 05:23:15
Also in:
lkml
On Fri, Dec 03, 2021 at 12:49:26PM -0800, Dmitry Torokhov wrote:
I must be getting lost in terminology, and it feels to me that what is
discussed here is most likely of no interest to a lot of potential
users, especially ones that do compression/decompression. In majority of
cases they want to simply compress or decompress data, and they just
want to do it quickly and with minimal amount of memory consumed. They
do not particularly care if the task is being offloaded or executed on
the main CPU, either on separate thread or on the same thread, so the
discussion about scomp/acomp/etc is of no interest to them. From their
perspective they'd be totally fine with a wrapper that would do:
int decompress(...) {
prepare_request()
send_request()
wait_for_request()
}
and from their perspective this would be a synchronous API they are
happy with.You can certainly do that as a Crypto API user. And we do have some users who do exactly this (for example, testmgr does that when testing async algorithms). However, this can't be a part of the API itself since many of our users execute in atomic contexts.
So from POV of such users what is actually missing is streaming mode of compressing/decompressing where core would allow supplying additonal data on demand and allow consuming output as it is being produced, and I do not see anything like that in either scomp or acomp.
That is indeed a very crucial part of the compression API that is missing. And I would love someone to donate some time to addressing this. Thanks, -- Email: Herbert Xu [off-list ref] Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt