> -----Original Message----- > From: David Miller <da...@davemloft.net> > Sent: Saturday, September 1, 2018 6:31 AM > To: Vakul Garg <vakul.g...@nxp.com> > Cc: netdev@vger.kernel.org; bor...@mellanox.com; > avia...@mellanox.com; davejwat...@fb.com > Subject: Re: [PATCH net-next v2] net/tls: Add support for async decryption of > tls records > > From: Vakul Garg <vakul.g...@nxp.com> > Date: Wed, 29 Aug 2018 15:26:55 +0530 > > > When tls records are decrypted using asynchronous acclerators such as > > NXP CAAM engine, the crypto apis return -EINPROGRESS. Presently, on > > getting -EINPROGRESS, the tls record processing stops till the time > > the crypto accelerator finishes off and returns the result. This > > incurs a context switch and is not an efficient way of accessing the > > crypto accelerators. Crypto accelerators work efficient when they are > > queued with multiple crypto jobs without having to wait for the > > previous ones to complete. > > > > The patch submits multiple crypto requests without having to wait for > > for previous ones to complete. This has been implemented for records > > which are decrypted in zero-copy mode. At the end of recvmsg(), we > > wait for all the asynchronous decryption requests to complete. > > > > The references to records which have been sent for async decryption > > are dropped. For cases where record decryption is not possible in > > zero-copy mode, asynchronous decryption is not used and we wait for > > decryption crypto api to complete. > > > > For crypto requests executing in async fashion, the memory for > > aead_request, sglists and skb etc is freed from the decryption > > completion handler. The decryption completion handler wakesup the > > sleeping user context when recvmsg() flags that it has done sending > > all the decryption requests and there are no more decryption requests > > pending to be completed. > > > > Signed-off-by: Vakul Garg <vakul.g...@nxp.com> > > Reviewed-by: Dave Watson <davejwat...@fb.com> > > --- > > > > Changes since v1: > > - Simplified recvmsg() so to drop reference to skb in case it > > was submimtted for async decryption. > > - Modified tls_sw_advance_skb() to handle case when input skb is > > NULL. > > Applied.
I do not find this patch in tree yet. Can you please check? Thanks and Regards.