• Andrii Nakryiko's avatar
    selftests/bpf: Split out bpf_verif_scale selftests into multiple tests · 3762a39c
    Andrii Nakryiko authored
    Instead of using subtests in bpf_verif_scale selftest, turn each scale
    sub-test into its own test. Each subtest is compltely independent and
    just reuses a bit of common test running logic, so the conversion is
    trivial. For convenience, keep all of BPF verifier scale tests in one
    file.
    
    This conversion shaves off a significant amount of time when running
    test_progs in parallel mode. E.g., just running scale tests (-t verif_scale):
    
    BEFORE
    ======
    Summary: 24/0 PASSED, 0 SKIPPED, 0 FAILED
    
    real    0m22.894s
    user    0m0.012s
    sys     0m22.797s
    
    AFTER
    =====
    Summary: 24/0 PASSED, 0 SKIPPED, 0 FAILED
    
    real    0m12.044s
    user    0m0.024s
    sys     0m27.869s
    
    Ten second saving right there. test_progs -j is not yet ready to be
    turned on by default, unfortunately, and some tests fail almost every
    time, but this is a good improvement nevertheless. Ignoring few
    failures, here is sequential vs parallel run times when running all
    tests now:
    
    SEQUENTIAL
    ==========
    Summary: 206/953 PASSED, 4 SKIPPED, 0 FAILED
    
    real    1m5.625s
    user    0m4.211s
    sys     0m31.650s
    
    PARALLEL
    ========
    Summary: 204/952 PASSED, 4 SKIPPED, 2 FAILED
    
    real    0m35.550s
    user    0m4.998s
    sys     0m39.890s
    Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
    Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
    Link: https://lore.kernel.org/bpf/20211022223228.99920-5-andrii@kernel.org
    3762a39c
bpf_verif_scale.c 4.45 KB