Last year the commit afd20b9290e1 ("af_unix: Replace the big lock with small locks.") landed on bpf-next. Now we can use a batching algorithm for AF_UNIX bpf iter as TCP bpf iter. Changelog: - Add the 1st patch. - Call unix_get_first() in .start()/.next() to always acquire a lock in each iteration in the 2nd patch. Kuniyuki Iwashima (5): af_unix: Refactor unix_next_socket(). bpf: af_unix: Use batching algorithm in bpf unix iter. bpf: Support bpf_(get|set)sockopt() in bpf unix iter. selftest/bpf: Test batching and bpf_(get|set)sockopt in bpf unix iter. selftest/bpf: Fix a stale comment. net/unix/af_unix.c | 250 ++++++++++++++++-- .../bpf/prog_tests/bpf_iter_setsockopt_unix.c | 100 +++++++ .../bpf/progs/bpf_iter_setsockopt_unix.c | 60 +++++ .../selftests/bpf/progs/bpf_iter_unix.c | 2 +- .../selftests/bpf/progs/bpf_tracing_net.h | 2 + 5 files changed, 385 insertions(+), 29 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/bpf_iter_setsockopt_unix.c create mode 100644 tools/testing/selftests/bpf/progs/bpf_iter_setsockopt_unix.c -- 2.30.2