On 01/31/18 05:22 PM, Vakul Garg wrote: > > > On second though in stable we should probably just disable async tfm > > > allocations. > > > It's simpler. But this approach is still good for -next > > > > > > > > > Gilad > > > > I agree with Gilad, just disable async for now. > > > > How to do it? Can you help with the api name? *aead = crypto_alloc_aead("gcm(aes)", 0, CRYPTO_ALG_ASYNC); https://github.com/ktls/net_next_ktls/commit/f3b9b402e755e4b0623fa83f88137173fc249f2d > > If the flag MSG_DONTWAIT is set, we should be returning -EINPROGRESS and > > not wait for a response. I had started working on a patch for that, but it's > > pretty tricky to get right. > > Can you point me to your WIP code branch for this? https://github.com/ktls/net_next_ktls/commit/9cc839aa551ed972d148ecebf353b25ee93543b9 > If MSG_DONTWAIT is not used, will it be sane if enqueue the crypto request to > accelerator and return to user space back so that user space can send more plaintext data while > crypto accelerator is working in parallel? Right, that's roughly what the above does. I believe the tricky unfinished part was getting poll() to work correctly if there is an async crypto request outstanding. Currently the tls poll() just relies on backpressure from do_tcp_sendpages.