This patch series adds "-j" parelell execution to test_progs, with "--debug" to display server/worker communications. Also, some Tests that often fails in parallel are marked as serial test, and it will run in sequence after parallel execution is done. This patch series also adds a error summary after all tests execution finished. V6 -> V5: * adding error summary logic for non parallel mode too. * changed how serial tests are implemented, use main process instead of worker 0. * fixed a dozen broken test when running in parallel. V5 -> V4: * change to SOCK_SEQPACKET for close notification. * move all debug output to "--debug" mode * output log as test finish, and all error logs again after summary line. * variable naming / style changes * adds serial_test_name() to replace serial test lists. Yucong Sun (14): selftests/bpf: Add parallelism to test_progs selftests/bpf: Allow some tests to be executed in sequence selftests/bpf: disable perf rate limiting when running tests. selftests/bpf: add per worker cgroup suffix selftests/bpf: adding read_perf_max_sample_freq() helper selftests/bpf: fix race condition in enable_stats selftests/bpf: make cgroup_v1v2 use its own port selftests/bpf: adding a namespace reset for tc_redirect selftests/bpf: Make uprobe tests use different attach functions. selftests/bpf: adding pid filtering for atomics test selftests/bpf: adding random delay for send_signal test selftests/bpf: Fix pid check in fexit_sleep test selftests/bpf: increase loop count for perf_branches selfetest/bpf: make some tests serial tools/testing/selftests/bpf/cgroup_helpers.c | 6 +- tools/testing/selftests/bpf/cgroup_helpers.h | 2 +- .../selftests/bpf/prog_tests/atomics.c | 1 + .../selftests/bpf/prog_tests/attach_probe.c | 8 +- .../selftests/bpf/prog_tests/bpf_cookie.c | 10 +- .../bpf/prog_tests/bpf_iter_setsockopt.c | 2 +- .../selftests/bpf/prog_tests/bpf_obj_id.c | 2 +- .../bpf/prog_tests/cg_storage_multi.c | 2 +- .../bpf/prog_tests/cgroup_attach_autodetach.c | 2 +- .../bpf/prog_tests/cgroup_attach_multi.c | 2 +- .../bpf/prog_tests/cgroup_attach_override.c | 2 +- .../selftests/bpf/prog_tests/cgroup_link.c | 2 +- .../selftests/bpf/prog_tests/cgroup_v1v2.c | 2 +- .../selftests/bpf/prog_tests/check_mtu.c | 2 +- .../selftests/bpf/prog_tests/fexit_bpf2bpf.c | 3 +- .../prog_tests/flow_dissector_load_bytes.c | 2 +- .../bpf/prog_tests/flow_dissector_reattach.c | 2 +- .../bpf/prog_tests/get_branch_snapshot.c | 2 +- .../selftests/bpf/prog_tests/kfree_skb.c | 3 +- .../bpf/prog_tests/migrate_reuseport.c | 2 +- .../selftests/bpf/prog_tests/modify_return.c | 3 +- .../bpf/prog_tests/ns_current_pid_tgid.c | 3 +- .../selftests/bpf/prog_tests/perf_branches.c | 10 +- .../selftests/bpf/prog_tests/perf_buffer.c | 2 +- .../selftests/bpf/prog_tests/perf_link.c | 5 +- .../selftests/bpf/prog_tests/probe_user.c | 3 +- .../bpf/prog_tests/raw_tp_writable_test_run.c | 3 +- .../bpf/prog_tests/select_reuseport.c | 2 +- .../selftests/bpf/prog_tests/send_signal.c | 6 +- .../bpf/prog_tests/send_signal_sched_switch.c | 3 +- .../bpf/prog_tests/sk_storage_tracing.c | 2 +- .../selftests/bpf/prog_tests/snprintf_btf.c | 2 +- .../selftests/bpf/prog_tests/sock_fields.c | 2 +- .../selftests/bpf/prog_tests/sockmap_listen.c | 2 +- .../bpf/prog_tests/stacktrace_build_id_nmi.c | 19 +- .../selftests/bpf/prog_tests/task_pt_regs.c | 8 +- .../selftests/bpf/prog_tests/tc_redirect.c | 14 + .../testing/selftests/bpf/prog_tests/timer.c | 3 +- .../selftests/bpf/prog_tests/timer_mim.c | 2 +- .../bpf/prog_tests/tp_attach_query.c | 2 +- .../selftests/bpf/prog_tests/trace_printk.c | 2 +- .../selftests/bpf/prog_tests/trace_vprintk.c | 2 +- .../bpf/prog_tests/trampoline_count.c | 3 +- .../selftests/bpf/prog_tests/xdp_attach.c | 2 +- .../selftests/bpf/prog_tests/xdp_bonding.c | 2 +- .../bpf/prog_tests/xdp_cpumap_attach.c | 2 +- .../bpf/prog_tests/xdp_devmap_attach.c | 2 +- .../selftests/bpf/prog_tests/xdp_info.c | 2 +- .../selftests/bpf/prog_tests/xdp_link.c | 2 +- tools/testing/selftests/bpf/progs/atomics.c | 16 + .../selftests/bpf/progs/connect4_dropper.c | 2 +- .../testing/selftests/bpf/progs/fexit_sleep.c | 4 +- .../selftests/bpf/progs/test_enable_stats.c | 2 +- tools/testing/selftests/bpf/test_progs.c | 671 +++++++++++++++++- tools/testing/selftests/bpf/test_progs.h | 37 +- 55 files changed, 790 insertions(+), 116 deletions(-) -- 2.30.2