[PATCH 0/7] Chain crypto requests together at the DMA level
Romain Perier
romain.perier at free-electrons.com
Wed Jun 15 12:15:27 PDT 2016
The Cryptographic Engines and Security Accelerators (CESA) supports
the TDMA chained mode support. When this mode is enabled and crypto
requests are chained at the DMA level, multiple crypto requests can be
handled by the hardware engine without requiring any software
intervention. This approach limits the number of interrupts generated
by the engines thus improving its throughput and making the whole system
behave nicely under heavy crypto load.
Benchmarking results with dmcrypt
=================================
I/O read I/O write
Before 81.7 MB/s 31.7 MB/s
After 129 MB/s 39.8 MB/s
Improvement +57.8 % +25.5 %
Romain Perier (7):
crypto: marvell: Add a macro constant for the size of the crypto queue
crypto: marvell: Check engine is not already running when enabling a
req
crypto: marvell: Copy IV vectors by DMA transfers for acipher requests
crypto: marvell: Moving the tdma chain out of mv_cesa_tdma_req
crypto: marvell: Adding a complete operation for async requests
crypto: marvell: Adding load balancing between engines
crypto: marvell: Add support for chaining crypto requests in TDMA mode
drivers/crypto/marvell/cesa.c | 142 ++++++++++++++++++++++++++++++----------
drivers/crypto/marvell/cesa.h | 103 +++++++++++++++++++++++------
drivers/crypto/marvell/cipher.c | 141 +++++++++++++++++++++++----------------
drivers/crypto/marvell/hash.c | 126 +++++++++++++++++------------------
drivers/crypto/marvell/tdma.c | 120 +++++++++++++++++++++++++++++++--
5 files changed, 452 insertions(+), 180 deletions(-)
--
2.7.4
More information about the linux-arm-kernel
mailing list