• Robert Elliott's avatar
    crypto: x86/sha512 - load based on CPU features · aa031b8f
    Robert Elliott authored
    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: default avatarRobert Elliott <elliott@hpe.com>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    aa031b8f
sha512_ssse3_glue.c 8.94 KB