Re: [PATCH v2 5/5] crypto: talitos: Add software backlog queue handling
From: Kim Phillips <hidden>
Date: 2015-03-17 00:19:35
Also in:
linux-crypto
On Mon, 16 Mar 2015 12:02:51 +0200 Horia Geantă [off-list ref] wrote:
On 3/4/2015 2:23 AM, Kim Phillips wrote:quoted
Only potential problem is getting the crypto API to set the GFP_DMA flag in the allocation request, but presumably a CRYPTO_TFM_REQ_DMA crt_flag can be made to handle that.Seems there are quite a few places that do not use the {aead,ablkcipher_ahash}_request_alloc() API to allocate crypto requests. Among them, IPsec and dm-crypt. I've looked at the code and I don't think it can be converted to use crypto API.
why not?
This means that the CRYPTO_TFM_REQ_DMA would be visible to all of these places. Some of the maintainers do not agree, as you've seen.
would modifying the crypto API to either have a different *_request_alloc() API, and/or adding calls to negotiate the GFP mask between crypto users and drivers, e.g., get/set_gfp_mask, work?
An alternative would be for talitos to use the page allocator to get 1 / 2 pages at probe time (4 channels x 32 entries/channel x 64B/descriptor = 8 kB), dma_map_page the area and manage it internally for talitos_desc hw descriptors. What do you think?
There's a comment in esp_alloc_tmp(): "Use spare space in skb for this where possible," which is ideally where we'd want to be (esp. because that memory could already be DMA-able). Your above suggestion would be in the opposite direction of that. Kim