• Mark Brown's avatar
    kselftest/arm64: Include kernel mode NEON in fp-stress · d5859510
    Mark Brown authored
    Currently fp-stress only covers userspace use of floating point, it does
    not cover any kernel mode uses.  Since currently kernel mode floating
    point usage can't be preempted and there are explicit preemption points in
    the existing implementations this isn't so important for fp-stress but
    when we readd preemption it will be good to try to exercise it.
    
    When the arm64 accelerated crypto operations are implemented we can
    relatively straightforwardly trigger kernel mode floating point usage by
    using the crypto userspace API to hash data, using the splice() support
    in an effort to minimise copying.  We use /proc/crypto to check which
    accelerated implementations are available, picking the first symmetric
    hash we find.  We run the kernel mode test unconditionally, replacing the
    second copy of the FPSIMD testcase for systems with FPSIMD only. If we
    don't think there are any suitable kernel mode implementations we fall back
    to running another copy of fpsimd-stress.
    
    There are a number issues with this approach, we don't actually verify
    that we are using an accelerated (or even CPU) implementation of the
    algorithm being tested and even with attempting to use splice() to
    minimise copying there are sizing limits on how much data gets spliced
    at once.
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20240521-arm64-fp-stress-kernel-v1-1-e38f107baad4@kernel.orgSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    d5859510
Makefile 1.7 KB