selftests/bpf: add few verifier scale tests
Add 3 basic tests that stress verifier scalability. test_verif_scale1.c calls non-inlined jhash() function 90 times on different position in the packet. This test simulates network packet parsing. jhash function is ~140 instructions and main program is ~1200 insns. test_verif_scale2.c force inlines jhash() function 90 times. This program is ~15k instructions long. test_verif_scale3.c calls non-inlined jhash() function 90 times on But this time jhash has to process 32-bytes from the packet instead of 14-bytes in tests 1 and 2. jhash function is ~230 insns and main program is ~1200 insns. $ test_progs -s can be used to see verifier stats. Signed-off-by:Alexei Starovoitov <ast@kernel.org> Signed-off-by:
Daniel Borkmann <daniel@iogearbox.net>
Showing
- tools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c 49 additions, 0 deletionstools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c
- tools/testing/selftests/bpf/progs/test_jhash.h 70 additions, 0 deletionstools/testing/selftests/bpf/progs/test_jhash.h
- tools/testing/selftests/bpf/progs/test_verif_scale1.c 30 additions, 0 deletionstools/testing/selftests/bpf/progs/test_verif_scale1.c
- tools/testing/selftests/bpf/progs/test_verif_scale2.c 30 additions, 0 deletionstools/testing/selftests/bpf/progs/test_verif_scale2.c
- tools/testing/selftests/bpf/progs/test_verif_scale3.c 30 additions, 0 deletionstools/testing/selftests/bpf/progs/test_verif_scale3.c
- tools/testing/selftests/bpf/test_progs.c 5 additions, 1 deletiontools/testing/selftests/bpf/test_progs.c
- tools/testing/selftests/bpf/test_progs.h 1 addition, 0 deletionstools/testing/selftests/bpf/test_progs.h
Please register or sign in to comment