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@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html