linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v7 0/7] running kernel mode SIMD with softirqs disabled
@ 2021-08-27  7:03 Ard Biesheuvel
  2021-08-27  7:03 ` [PATCH v7 1/7] crypto: arm64/gcm-aes-ce - remove non-SIMD fallback path Ard Biesheuvel
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Ard Biesheuvel @ 2021-08-27  7:03 UTC (permalink / raw)
  To: linux-crypto; +Cc: linux-arm-kernel, herbert, ebiggers, Ard Biesheuvel

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(-)

-- 
2.30.2


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-09-17  3:21 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-08-27  7:03 [PATCH v7 0/7] running kernel mode SIMD with softirqs disabled Ard Biesheuvel
2021-08-27  7:03 ` [PATCH v7 1/7] crypto: arm64/gcm-aes-ce - remove non-SIMD fallback path Ard Biesheuvel
2021-08-27  7:03 ` [PATCH v7 2/7] crypto: arm64/aes-neonbs - stop using SIMD helper for skciphers Ard Biesheuvel
2021-08-27  7:03 ` [PATCH v7 3/7] crypto: arm64/aes-ce " Ard Biesheuvel
2021-08-27  7:03 ` [PATCH v7 4/7] crypto: arm64/aes-ccm - yield NEON when processing auth-only data Ard Biesheuvel
2021-08-27  7:03 ` [PATCH v7 5/7] crypto: arm64/aes-ccm - remove non-SIMD fallback path Ard Biesheuvel
2021-08-27  7:03 ` [PATCH v7 6/7] crypto: arm64/aes-ccm - reduce NEON begin/end calls for common case Ard Biesheuvel
2021-08-27  7:03 ` [PATCH v7 7/7] crypto: arm64/aes-ccm - avoid by-ref argument for ce_aes_ccm_auth_data Ard Biesheuvel
2021-08-29  6:35 ` [PATCH v7 0/7] running kernel mode SIMD with softirqs disabled Ard Biesheuvel
2021-08-30  6:26   ` Herbert Xu
2021-08-30 13:48     ` Ard Biesheuvel
2021-09-17  3:19 ` Herbert Xu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).