Re: [PATCH] crypto: x86 - load optimized sha1/sha256 modules based on CPU features

From: Herbert Xu
Date: Wed Sep 20 2023 - 01:26:25 EST


On Fri, Sep 15, 2023 at 12:23:25PM +0200, Roxana Nicolescu wrote:
> x86 optimized crypto modules are built as modules rather than build-in and
> they are not loaded when the crypto API is initialized, resulting in the
> generic builtin module (sha1-generic) being used instead.
>
> It was discovered when creating a sha1/sha256 checksum of a 2Gb file by
> using kcapi-tools because it would take significantly longer than creating
> a sha512 checksum of the same file. trace-cmd showed that for sha1/256 the
> generic module was used, whereas for sha512 the optimized module was used
> instead.
>
> Add module aliases() for these x86 optimized crypto modules based on CPU
> feature bits so udev gets a chance to load them later in the boot
> process. This resulted in ~3x decrease in the real-time execution of
> kcapi-dsg.
>
> Fix is inspired from commit
> aa031b8f702e ("crypto: x86/sha512 - load based on CPU features")
> where a similar fix was done for sha512.
>
> Cc: stable@xxxxxxxxxxxxxxx # 5.15+
> Suggested-by: Dimitri John Ledkov <dimitri.ledkov@xxxxxxxxxxxxx>
> Suggested-by: Julian Andres Klode <julian.klode@xxxxxxxxxxxxx>
> Signed-off-by: Roxana Nicolescu <roxana.nicolescu@xxxxxxxxxxxxx>
> ---
> arch/x86/crypto/sha1_ssse3_glue.c | 12 ++++++++++++
> arch/x86/crypto/sha256_ssse3_glue.c | 12 ++++++++++++
> 2 files changed, 24 insertions(+)

Patch applied. Thanks.
--
Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt