Messages in this thread | | | Date | Thu, 26 Nov 2015 16:49:13 +0800 | From | Herbert Xu <> | Subject | Re: [PATCH v3 5/5] crypto: AES CBC multi-buffer glue code |
| |
On Tue, Nov 24, 2015 at 10:30:06AM -0800, Tim Chen wrote: > > On the decrypt path, we don't need to use multi-buffer algorithm > as aes-cbc decrypt can be parallelized inherently on a single > request. So most of the time the outer layer algorithm > cbc_mb_async_ablk_decrypt can bypass mcryptd and > invoke mb_aes_cbc_decrypt synchronously > to do aes_cbc_dec when fpu is available. > This avoids the overhead of going through mcryptd. Hence > the use of blkcipher on the inner layer. For the mcryptd > path, we will complete a decrypt request in one shot so > blkcipher usage should be fine.
I think there is a misunderstanding here. Just because you're using/exporting through the ablkcipher interface doesn't mean that you are asynchrounous. For example, all blkcipher algorithms can be accessed through the ablkcipher interface and they of course remain synchrounous.
So I don't see how using an ablkcipher in the inner layer changes anything at all. You can still return immediately and not bother with completion functions when you are synchrounous.
Cheers, -- Email: Herbert Xu <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
| |