[PATCH v7 0/7] running kernel mode SIMD with softirqs disabled
Herbert Xu
herbert at gondor.apana.org.au
Thu Sep 16 20:19:04 PDT 2021
On Fri, Aug 27, 2021 at 09:03:35AM +0200, Ard Biesheuvel wrote:
> This is a follow-up to [0], but given that the arm64 architectural
> pieces have been merged for arm64, the only remaining changes are crypto
> specific. Therefore, the audience has been reduced to those people who
> are somewhat more likely to care about these specifics.
>
> The AEAD and skcipher APIs may only be called from task or softirq
> context. This permits the arm64 AEAD and skcipher code to get rid of all
> scalar fallbacks, given that on this architecture, softirqs are now no
> longer served while the SIMD unit is being used in kernel mode, which
> means that the scalar fallbacks are never needed. These are removed in
> this series.
>
> Changes since v6:
> - add patch to yield the NEON every 4k of input when processing the AAD
> - add some more acks from Eric
>
> Changes since v5:
> - add Eric's R-b to patches #1 to #3
> - split CCM changes into 3 separate patches
>
> Changes since v4:
> - drop skcipher_walk layer change to deal with zero sized walks
> - drop aead/skcipher layer sanity checks on invocations from hardirq
> context
> - add patch to clean up CCM a bit more after removing the SIMD code path
>
> Changes since v3:
> - clarify the nature of the issue addressed by patch #1, and apply the
> same fix to the skcipher walker
> - update patches #2 and #3 so that the failures can be observed by the
> crypto stats code
>
> [0] https://lore.kernel.org/linux-arm-kernel/20210302090118.30666-1-ardb@kernel.org/
>
> Ard Biesheuvel (7):
> crypto: arm64/gcm-aes-ce - remove non-SIMD fallback path
> crypto: arm64/aes-neonbs - stop using SIMD helper for skciphers
> crypto: arm64/aes-ce - stop using SIMD helper for skciphers
> crypto: arm64/aes-ccm - yield NEON when processing auth-only data
> crypto: arm64/aes-ccm - remove non-SIMD fallback path
> crypto: arm64/aes-ccm - reduce NEON begin/end calls for common case
> crypto: arm64/aes-ccm - avoid by-ref argument for ce_aes_ccm_auth_data
>
> arch/arm64/crypto/Kconfig | 6 -
> arch/arm64/crypto/aes-ce-ccm-core.S | 24 +--
> arch/arm64/crypto/aes-ce-ccm-glue.c | 203 ++++++-------------
> arch/arm64/crypto/aes-glue.c | 102 ++--------
> arch/arm64/crypto/aes-neonbs-glue.c | 122 +-----------
> arch/arm64/crypto/ghash-ce-glue.c | 209 +++++---------------
> 6 files changed, 148 insertions(+), 518 deletions(-)
All applied. Thanks.
--
Email: Herbert Xu <herbert at gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
More information about the linux-arm-kernel
mailing list