Re: [PATCH v4 5/5] crypto: AES CBC multi-buffer glue code

2015-12-15 Thread Tim Chen
On Sat, 2015-12-12 at 13:48 +0800, Herbert Xu wrote: > On Fri, Dec 11, 2015 at 08:54:40AM -0800, Tim Chen wrote: > > Direct call I assume have less overhead. Let me think about > > static inline int crypto_ablkcipher_encrypt(struct ablkcipher_request *req) > { > struct ablkcipher_tfm *crt

Re: [PATCH v4 5/5] crypto: AES CBC multi-buffer glue code

2015-12-11 Thread Tim Chen
On Fri, 2015-12-11 at 11:23 +0800, Herbert Xu wrote: > On Thu, Dec 10, 2015 at 08:39:45AM -0800, Tim Chen wrote: > > > > The inner cipher is called synchronously from the outer layer > > async cipher algorithm in cbc_mb_async_ablk_decrypt via > > > > err =

Re: [PATCH v4 5/5] crypto: AES CBC multi-buffer glue code

2015-12-11 Thread Herbert Xu
On Fri, Dec 11, 2015 at 08:54:40AM -0800, Tim Chen wrote: > Direct call I assume have less overhead. Let me think about static inline int crypto_ablkcipher_encrypt(struct ablkcipher_request *req) { struct ablkcipher_tfm *crt =

Re: [PATCH v4 5/5] crypto: AES CBC multi-buffer glue code

2015-12-10 Thread Tim Chen
On Thu, 2015-12-10 at 09:45 +0800, Herbert Xu wrote: > On Wed, Dec 09, 2015 at 09:23:14AM -0800, Tim Chen wrote: > > > > This is an internal algorithm. We are indeed casting the request > > to the outer ablkcipher request when we do the async cipher walk. > > The question remain: why does it

Re: [PATCH v4 5/5] crypto: AES CBC multi-buffer glue code

2015-12-10 Thread Herbert Xu
On Thu, Dec 10, 2015 at 08:39:45AM -0800, Tim Chen wrote: > > The inner cipher is called synchronously from the outer layer > async cipher algorithm in cbc_mb_async_ablk_decrypt via > > err = crypto_blkcipher_crt(child_tfm)->decrypt( > >desc, req->dst, req->src,

Re: [PATCH v4 5/5] crypto: AES CBC multi-buffer glue code

2015-12-09 Thread Herbert Xu
On Wed, Dec 09, 2015 at 09:23:14AM -0800, Tim Chen wrote: > > This is an internal algorithm. We are indeed casting the request > to the outer ablkcipher request when we do the async cipher walk. The question remain: why does it have to be a blkcipher rather than an ablkcipher? Cheers, --

Re: [PATCH v4 5/5] crypto: AES CBC multi-buffer glue code

2015-12-09 Thread Tim Chen
On Wed, 2015-12-09 at 10:52 +0800, Herbert Xu wrote: > On Wed, Dec 02, 2015 at 12:02:45PM -0800, Tim Chen wrote: > > > > +/* > > + * CRYPTO_ALG_ASYNC flag is passed to indicate we have an ablk > > + * scatter-gather walk. > > + */ > > + > > +static struct crypto_alg aes_cbc_mb_alg = { > > +

Re: [PATCH v4 5/5] crypto: AES CBC multi-buffer glue code

2015-12-08 Thread Herbert Xu
On Wed, Dec 02, 2015 at 12:02:45PM -0800, Tim Chen wrote: > > +/* > + * CRYPTO_ALG_ASYNC flag is passed to indicate we have an ablk > + * scatter-gather walk. > + */ > + > +static struct crypto_alg aes_cbc_mb_alg = { > + .cra_name = "__cbc-aes-aesni-mb", > + .cra_driver_name

[PATCH v4 5/5] crypto: AES CBC multi-buffer glue code

2015-12-02 Thread Tim Chen
This patch introduces the multi-buffer job manager which is responsible for submitting scatter-gather buffers from several AES CBC jobs to the multi-buffer algorithm. The glue code interfaces with the underlying algorithm that handles 8 data streams of AES CBC encryption in parallel. AES key