Re: [RFC PATCH 0/4] crypto: add CRYPTO_TFM_REQ_DMA flag

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 25 Nov 2020 at 22:14, Iuliana Prodan (OSS)
<iuliana.prodan@xxxxxxxxxxx> wrote:
>
> From: Iuliana Prodan <iuliana.prodan@xxxxxxx>
>
> Add the option to allocate the crypto request object plus any extra space
> needed by the driver into a DMA-able memory.
>
> Add CRYPTO_TFM_REQ_DMA flag to be used by backend implementations to
> indicate to crypto API the need to allocate GFP_DMA memory
> for private contexts of the crypto requests.
>

These are always directional DMA mappings, right? So why can't we use
bounce buffering here?

> For IPsec use cases, CRYPTO_TFM_REQ_DMA flag is also checked in
> esp_alloc_tmp() function for IPv4 and IPv6.
>
> This series includes an example of how a driver can use
> CRYPTO_TFM_REQ_DMA flag while setting reqsize to a larger value
> to avoid allocating memory at crypto request runtime.
> The extra size needed by the driver is added to the reqsize field
> that indicates how much memory could be needed per request.
>
> Iuliana Prodan (4):
>   crypto: add CRYPTO_TFM_REQ_DMA flag
>   net: esp: check CRYPTO_TFM_REQ_DMA flag when allocating crypto request
>   crypto: caam - avoid allocating memory at crypto request runtime for
>     skcipher
>   crypto: caam - avoid allocating memory at crypto request runtime for
>     aead
>
>  drivers/crypto/caam/caamalg.c | 130 +++++++++++++++++++++++++---------
>  include/crypto/aead.h         |   4 ++
>  include/crypto/akcipher.h     |  21 ++++++
>  include/crypto/hash.h         |   4 ++
>  include/crypto/skcipher.h     |   4 ++
>  include/linux/crypto.h        |   1 +
>  net/ipv4/esp4.c               |   7 +-
>  net/ipv6/esp6.c               |   7 +-
>  8 files changed, 144 insertions(+), 34 deletions(-)
>
> --
> 2.17.1
>



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux