]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
crypto: x86/sha512 - load based on CPU features
authorRobert Elliott <elliott@hpe.com>
Sat, 13 Aug 2022 23:04:31 +0000 (18:04 -0500)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 19 Aug 2022 10:39:39 +0000 (18:39 +0800)
commitaa031b8f702e7941b4c86022348a366c335d389a
tree0182a578d0b37f1308e90e322cea93e042dfd9e6
parent6a088a2cbcaf40747cf2881df47f4f5d65acd7ab
crypto: x86/sha512 - load based on CPU features

x86 optimized crypto modules built as modules rather than built-in
to the kernel end up as .ko files in the filesystem, e.g., in
/usr/lib/modules. If the filesystem itself is a module, these might
not be available when the crypto API is initialized, resulting in
the generic implementation being used (e.g., sha512_transform rather
than sha512_transform_avx2).

In one test case, CPU utilization in the sha512 function dropped
from 15.34% to 7.18% after forcing loading of the optimized module.

Add module aliases for this x86 optimized crypto module based on CPU
feature bits so udev gets a chance to load them later in the boot
process when the filesystems are all running.

Signed-off-by: Robert Elliott <elliott@hpe.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/x86/crypto/sha512_ssse3_glue.c