• Mark Brown's avatar
    selftests/seccomp: Try to fit runtime of benchmark into timeout · 7155cc45
    Mark Brown authored
    The seccomp benchmark runs five scenarios, one calibration run with no
    seccomp filters enabled then four further runs each adding a filter. The
    calibration run times itself for 15s and then each additional run executes
    for the same number of times.
    
    Currently the seccomp tests, including the benchmark, run with an extended
    120s timeout but this is not sufficient to robustly run the tests on a lot
    of platforms. Sample timings from some recent runs:
    
       Platform          Run 1  Run 2  Run 3  Run 4
       ---------         -----  -----  -----  -----
       PowerEdge R200    16.6s  16.6s  31.6s  37.4s
       BBB (arm)         20.4s  20.4s  54.5s
       Synquacer (arm64) 20.7s  23.7s  40.3s
    
    The x86 runs from the PowerEdge are quite marginal and routinely fail, for
    the successful run reported here the timed portions of the run are at
    117.2s leaving less than 3s of margin which is frequently breached. The
    added overhead of adding filters on the other platforms is such that there
    is no prospect of their runs fitting into the 120s timeout, especially
    on 32 bit arm where there is no BPF JIT.
    
    While we could lower the time we calibrate for I'm also already seeing the
    currently completing runs reporting issues with the per filter overheads
    not matching expectations:
    
    Let's instead raise the timeout to 180s which is only a 50% increase on the
    current timeout which is itself not *too* large given that there's only two
    tests in this suite.
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    7155cc45
settings 12 Bytes