From: Alexei Starovoitov Date: Wed, 31 Dec 2025 17:01:13 +0000 (-0800) Subject: Merge branch 'bpf-unify-state-pruning-handling-of-invalid-misc-stack-slots' X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c0e4a193ae91e5dcfbb920b2ba74599b05e2b2eb;p=thirdparty%2Flinux.git Merge branch 'bpf-unify-state-pruning-handling-of-invalid-misc-stack-slots' Eduard Zingerman says: ==================== bpf: unify state pruning handling of invalid/misc stack slots This change unifies states pruning handling of NOT_INIT registers, STACK_INVALID/STACK_MISC stack slots for regular and iterator/callback based loop cases. The change results in a modest verifier performance improvement: ========= selftests: master vs loop-stack-misc-pruning ========= File Program Insns (A) Insns (B) Insns (DIFF) ------------------------------- -------------------- --------- --------- ---------------- test_tcp_custom_syncookie.bpf.o tcp_custom_syncookie 38307 18430 -19877 (-51.89%) xdp_synproxy_kern.bpf.o syncookie_tc 23035 19067 -3968 (-17.23%) xdp_synproxy_kern.bpf.o syncookie_xdp 21022 18516 -2506 (-11.92%) Total progs: 4173 Old success: 2520 New success: 2521 total_insns diff min: -99.99% total_insns diff max: 0.00% 0 -> value: 0 value -> 0: 0 total_insns abs max old: 837,487 total_insns abs max new: 837,487 -100 .. -90 %: 1 -60 .. -50 %: 3 -50 .. -40 %: 2 -40 .. -30 %: 2 -30 .. -20 %: 8 -20 .. -10 %: 4 -10 .. 0 %: 5 0 .. 5 %: 4148 ========= scx: master vs loop-stack-misc-pruning ========= File Program Insns (A) Insns (B) Insns (DIFF) ------------------------- ---------------- --------- --------- ---------------- scx_arena_selftests.bpf.o arena_selftest 257545 243678 -13867 (-5.38%) scx_chaos.bpf.o chaos_dispatch 13989 12804 -1185 (-8.47%) scx_layered.bpf.o layered_dispatch 27600 13925 -13675 (-49.55%) Total progs: 305 Old success: 292 New success: 292 total_insns diff min: -49.55% total_insns diff max: 0.00% 0 -> value: 0 value -> 0: 0 total_insns abs max old: 257,545 total_insns abs max new: 243,678 -50 .. -45 %: 7 -30 .. -20 %: 5 -20 .. -10 %: 14 -10 .. 0 %: 18 0 .. 5 %: 261 There is also a significant verifier performance improvement for some bpf_loop() heavy Meta internal programs (~ -40% processed instructions). ==================== Link: https://patch.msgid.link/20251230-loop-stack-misc-pruning-v1-0-585cfd6cec51@gmail.com Signed-off-by: Alexei Starovoitov --- c0e4a193ae91e5dcfbb920b2ba74599b05e2b2eb