Commit 7e3811c
selftests/bpf: Convert profiler.c to bpf_cmp.
Convert profiler[123].c to "volatile compare" to compare barrier_var() approach vs bpf_cmp_likely() vs bpf_cmp_unlikely().
bpf_cmp_unlikely() produces correct code, but takes much longer to verify:
./veristat -C -e prog,insns,states before after_with_unlikely
Program Insns (A) Insns (B) Insns (DIFF) States (A) States (B) States (DIFF)
------------------------------------ --------- --------- ------------------ ---------- ---------- -----------------
kprobe__proc_sys_write 1603 19606 +18003 (+1123.08%) 123 1678 +1555 (+1264.23%)
kprobe__vfs_link 11815 70305 +58490 (+495.05%) 971 4967 +3996 (+411.53%)
kprobe__vfs_symlink 5464 42896 +37432 (+685.07%) 434 3126 +2692 (+620.28%)
kprobe_ret__do_filp_open 5641 44578 +38937 (+690.25%) 446 3162 +2716 (+608.97%)
raw_tracepoint__sched_process_exec 2770 35962 +33192 (+1198.27%) 226 3121 +2895 (+1280.97%)
raw_tracepoint__sched_process_exit 1526 2135 +609 (+39.91%) 133 208 +75 (+56.39%)
raw_tracepoint__sched_process_fork 265 337 +72 (+27.17%) 19 24 +5 (+26.32%)
tracepoint__syscalls__sys_enter_kill 18782 140407 +121625 (+647.56%) 1286 12176 +10890 (+846.81%)
bpf_cmp_likely() is equivalent to barrier_var():
./veristat -C -e prog,insns,states before after_with_likely
Program Insns (A) Insns (B) Insns (DIFF) States (A) States (B) States (DIFF)
------------------------------------ --------- --------- -------------- ---------- ---------- -------------
kprobe__proc_sys_write 1603 1663 +60 (+3.74%) 123 127 +4 (+3.25%)
kprobe__vfs_link 11815 12090 +275 (+2.33%) 971 971 +0 (+0.00%)
kprobe__vfs_symlink 5464 5448 -16 (-0.29%) 434 426 -8 (-1.84%)
kprobe_ret__do_filp_open 5641 5739 +98 (+1.74%) 446 446 +0 (+0.00%)
raw_tracepoint__sched_process_exec 2770 2608 -162 (-5.85%) 226 216 -10 (-4.42%)
raw_tracepoint__sched_process_exit 1526 1526 +0 (+0.00%) 133 133 +0 (+0.00%)
raw_tracepoint__sched_process_fork 265 265 +0 (+0.00%) 19 19 +0 (+0.00%)
tracepoint__syscalls__sys_enter_kill 18782 18970 +188 (+1.00%) 1286 1286 +0 (+0.00%)
kprobe__proc_sys_write 2700 2809 +109 (+4.04%) 107 109 +2 (+1.87%)
kprobe__vfs_link 12238 12366 +128 (+1.05%) 267 269 +2 (+0.75%)
kprobe__vfs_symlink 7139 7365 +226 (+3.17%) 167 175 +8 (+4.79%)
kprobe_ret__do_filp_open 7264 7070 -194 (-2.67%) 180 182 +2 (+1.11%)
raw_tracepoint__sched_process_exec 3768 3453 -315 (-8.36%) 211 199 -12 (-5.69%)
raw_tracepoint__sched_process_exit 3138 3138 +0 (+0.00%) 83 83 +0 (+0.00%)
raw_tracepoint__sched_process_fork 265 265 +0 (+0.00%) 19 19 +0 (+0.00%)
tracepoint__syscalls__sys_enter_kill 26679 24327 -2352 (-8.82%) 1067 1037 -30 (-2.81%)
kprobe__proc_sys_write 1833 1833 +0 (+0.00%) 157 157 +0 (+0.00%)
kprobe__vfs_link 9995 10127 +132 (+1.32%) 803 803 +0 (+0.00%)
kprobe__vfs_symlink 5606 5672 +66 (+1.18%) 451 451 +0 (+0.00%)
kprobe_ret__do_filp_open 5716 5782 +66 (+1.15%) 462 462 +0 (+0.00%)
raw_tracepoint__sched_process_exec 3042 3042 +0 (+0.00%) 278 278 +0 (+0.00%)
raw_tracepoint__sched_process_exit 1680 1680 +0 (+0.00%) 146 146 +0 (+0.00%)
raw_tracepoint__sched_process_fork 299 299 +0 (+0.00%) 25 25 +0 (+0.00%)
tracepoint__syscalls__sys_enter_kill 18372 18372 +0 (+0.00%) 1558 1558 +0 (+0.00%)
default (mcpu=v3), no_alu32, cpuv4 have similar differences.
Note one place where bpf_nop_mov() is used to workaround the verifier lack of link
between the scalar register and its spill to stack.
Signed-off-by: Alexei Starovoitov <[email protected]>
Signed-off-by: Andrii Nakryiko <[email protected]>
Link: https://lore.kernel.org/bpf/[email protected]1 parent 0bcc62a commit 7e3811c
1 file changed
+18
-46
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
221 | 222 | | |
222 | 223 | | |
223 | 224 | | |
224 | | - | |
225 | | - | |
| 225 | + | |
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
| |||
305 | 305 | | |
306 | 306 | | |
307 | 307 | | |
308 | | - | |
309 | | - | |
310 | | - | |
| 308 | + | |
311 | 309 | | |
312 | 310 | | |
313 | 311 | | |
314 | 312 | | |
315 | 313 | | |
316 | 314 | | |
317 | 315 | | |
318 | | - | |
319 | | - | |
320 | | - | |
| 316 | + | |
321 | 317 | | |
322 | 318 | | |
323 | 319 | | |
| |||
347 | 343 | | |
348 | 344 | | |
349 | 345 | | |
350 | | - | |
351 | | - | |
352 | | - | |
| 346 | + | |
353 | 347 | | |
354 | 348 | | |
355 | 349 | | |
| |||
494 | 488 | | |
495 | 489 | | |
496 | 490 | | |
497 | | - | |
498 | | - | |
| 491 | + | |
| 492 | + | |
499 | 493 | | |
500 | | - | |
501 | 494 | | |
502 | 495 | | |
503 | 496 | | |
| |||
579 | 572 | | |
580 | 573 | | |
581 | 574 | | |
582 | | - | |
583 | | - | |
584 | | - | |
| 575 | + | |
585 | 576 | | |
586 | 577 | | |
587 | 578 | | |
| |||
590 | 581 | | |
591 | 582 | | |
592 | 583 | | |
593 | | - | |
594 | | - | |
595 | | - | |
| 584 | + | |
596 | 585 | | |
597 | 586 | | |
598 | 587 | | |
| |||
658 | 647 | | |
659 | 648 | | |
660 | 649 | | |
661 | | - | |
662 | | - | |
663 | | - | |
| 650 | + | |
664 | 651 | | |
665 | 652 | | |
666 | 653 | | |
| |||
669 | 656 | | |
670 | 657 | | |
671 | 658 | | |
672 | | - | |
673 | | - | |
674 | | - | |
| 659 | + | |
675 | 660 | | |
676 | 661 | | |
677 | 662 | | |
| |||
731 | 716 | | |
732 | 717 | | |
733 | 718 | | |
734 | | - | |
735 | | - | |
736 | | - | |
| 719 | + | |
737 | 720 | | |
738 | 721 | | |
739 | 722 | | |
| |||
743 | 726 | | |
744 | 727 | | |
745 | 728 | | |
746 | | - | |
747 | | - | |
| 729 | + | |
748 | 730 | | |
749 | 731 | | |
750 | 732 | | |
| |||
821 | 803 | | |
822 | 804 | | |
823 | 805 | | |
824 | | - | |
825 | | - | |
826 | | - | |
| 806 | + | |
827 | 807 | | |
828 | 808 | | |
829 | 809 | | |
| |||
876 | 856 | | |
877 | 857 | | |
878 | 858 | | |
879 | | - | |
880 | | - | |
881 | | - | |
| 859 | + | |
882 | 860 | | |
883 | 861 | | |
884 | 862 | | |
885 | 863 | | |
886 | 864 | | |
887 | | - | |
888 | | - | |
889 | | - | |
| 865 | + | |
890 | 866 | | |
891 | 867 | | |
892 | 868 | | |
| |||
936 | 912 | | |
937 | 913 | | |
938 | 914 | | |
939 | | - | |
940 | | - | |
941 | | - | |
| 915 | + | |
942 | 916 | | |
943 | 917 | | |
944 | 918 | | |
945 | 919 | | |
946 | | - | |
947 | | - | |
948 | | - | |
| 920 | + | |
949 | 921 | | |
950 | 922 | | |
951 | 923 | | |
| |||
0 commit comments