• Mark Brown's avatar
    kselftest/arm64: Hold fp-stress children until they're all spawned · 98102a2c
    Mark Brown authored
    
    
    At present fp-stress has a bit of a thundering herd problem since the
    children it spawns start running immediately, meaning that they can start
    starving the parent process of CPU before it has even started all the
    children. This is much more severe on virtual platforms since they tend to
    support far more SVE and SME vector lengths, be slower in general and for
    some have issues with performance when simulating multiple CPUs.
    
    We can mitigate this problem by having all the child processes block before
    starting the test program, meaning that we at least have all the child
    processes started before we start heavily using CPU. We still have the same
    load issues while waiting for the actual stress test programs to start up
    and produce output but they're at least all ready to go before that kicks
    in, resulting in substantial reductions in overall runtime on some of the
    severely affected systems. One test was showing about 20% improvement.
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Link: https://lore.kernel.org/r/20221129215926.442895-2-broonie@kernel.org
    
    Signed-off-by: default avatarWill Deacon <will@kernel.org>
    98102a2c
fp-stress.c 13.4 KB