Skip to content

Commit 32df6fe

Browse files
Alexei Starovoitovborkmann
authored andcommitted
bpf, docs: Better scale maintenance of BPF subsystem
The BPF subsystem consists of a large number of pieces. There is not a single person that understands it all. Yet reviews are crucially important for the BPF community to provide productive quality feedback to contributors in a timely manner and therefore to ultimately expand the number of active developers in the community. So far, the BPF community had a two-stage review system, that is, a weekly rotation among 7 developers (Alexei, Daniel, Andrii, Martin, Song, Yonghong, John) as a first-level review of all inbound patches accompanied by a BPF CI system which runs the in-tree BPF selftests to check for regressions for every new patch, and then, a final check by Alexei, Daniel, Andrii to apply the patches to either bpf or bpf-next trees. This system worked well for the last ~3.5 years, but clearly reaches its limits these days as it does not scale enough. Especially, as we also need to allow enough room for every developer to contribute patches themselves, integrate with their day to day job, and in particular avoid burnout. We want to better scale both horizontally and vertically going forward. On the horizontal scale, we are adding more developers (KP, Stan, Hao, Jiri) to the overall core reviewer team, thus growing to 11 people in total. The weekly rotation for the horizontal oncall reviewer is shortened to 1/2 week (Mo - Wed and Thur - Fri). Instead of just patches, the coverage however extends also generally to triage and reply to mailing list traffic (e.g. RFCs, questions, etc). On the vertical scale, there is clearly a need for deep expertise areas to assign dedicated maintainer/reviewer teams that are responsible for code reviews and help with design of individual building blocks. To some degree we have been doing this implicitly, but the point is to formalize the teams and commitment. There is an overlap between areas and boundaries are intentionally grey. These additional entries provide a guidance on who has to look at the patches. The patch series which span multiple areas will be looked at by multiple people. The vertical review with areas of deep expertise are bundled at the same time with the horizontal side. This patch cleans up a bit the BPF entries, adds mentioned developers to the horizontal scale and creates new sub-entries with teams for developers committing to the above outlined vertical scale. Also, pw.git tools we use for BPF tree maintenance have been updated with a new pw-schedule script to semi-automate vertical oncall review rotation. Signed-off-by: Andrii Nakryiko <andrii@kernel.org> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Martin KaFai Lau <martin.lau@linux.dev> Acked-by: Song Liu <song@kernel.org> Acked-by: Yonghong Song <yhs@fb.com> Acked-by: Mykola Lysenko <mykolal@fb.com> Acked-by: John Fastabend <john.fastabend@gmail.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Acked-by: KP Singh <kpsingh@kernel.org> Acked-by: Stanislav Fomichev <sdf@google.com> Acked-by: Hao Luo <haoluo@google.com> Acked-by: Quentin Monnet <quentin@isovalent.com> Link: https://git.kernel.org/pub/scm/linux/kernel/git/dborkman/pw.git Link: https://lore.kernel.org/bpf/5bdc73e7f5a087299589944fa074563cdf2c2c1a.1656353995.git.daniel@iogearbox.net
1 parent 179a93f commit 32df6fe

1 file changed

Lines changed: 95 additions & 20 deletions

File tree

MAINTAINERS

Lines changed: 95 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3614,16 +3614,18 @@ S: Maintained
36143614
F: Documentation/devicetree/bindings/iio/accel/bosch,bma400.yaml
36153615
F: drivers/iio/accel/bma400*
36163616

3617-
BPF (Safe dynamic programs and tools)
3617+
BPF [GENERAL] (Safe Dynamic Programs and Tools)
36183618
M: Alexei Starovoitov <ast@kernel.org>
36193619
M: Daniel Borkmann <daniel@iogearbox.net>
36203620
M: Andrii Nakryiko <andrii@kernel.org>
3621-
R: Martin KaFai Lau <kafai@fb.com>
3622-
R: Song Liu <songliubraving@fb.com>
3621+
R: Martin KaFai Lau <martin.lau@linux.dev>
3622+
R: Song Liu <song@kernel.org>
36233623
R: Yonghong Song <yhs@fb.com>
36243624
R: John Fastabend <john.fastabend@gmail.com>
36253625
R: KP Singh <kpsingh@kernel.org>
3626-
L: netdev@vger.kernel.org
3626+
R: Stanislav Fomichev <sdf@google.com>
3627+
R: Hao Luo <haoluo@google.com>
3628+
R: Jiri Olsa <jolsa@kernel.org>
36273629
L: bpf@vger.kernel.org
36283630
S: Supported
36293631
W: https://bpf.io/
@@ -3655,12 +3657,9 @@ F: scripts/pahole-version.sh
36553657
F: tools/bpf/
36563658
F: tools/lib/bpf/
36573659
F: tools/testing/selftests/bpf/
3658-
N: bpf
3659-
K: bpf
36603660

36613661
BPF JIT for ARM
36623662
M: Shubham Bansal <illusionist.neo@gmail.com>
3663-
L: netdev@vger.kernel.org
36643663
L: bpf@vger.kernel.org
36653664
S: Odd Fixes
36663665
F: arch/arm/net/
@@ -3669,46 +3668,40 @@ BPF JIT for ARM64
36693668
M: Daniel Borkmann <daniel@iogearbox.net>
36703669
M: Alexei Starovoitov <ast@kernel.org>
36713670
M: Zi Shen Lim <zlim.lnx@gmail.com>
3672-
L: netdev@vger.kernel.org
36733671
L: bpf@vger.kernel.org
36743672
S: Supported
36753673
F: arch/arm64/net/
36763674

36773675
BPF JIT for MIPS (32-BIT AND 64-BIT)
36783676
M: Johan Almbladh <johan.almbladh@anyfinetworks.com>
36793677
M: Paul Burton <paulburton@kernel.org>
3680-
L: netdev@vger.kernel.org
36813678
L: bpf@vger.kernel.org
36823679
S: Maintained
36833680
F: arch/mips/net/
36843681

36853682
BPF JIT for NFP NICs
36863683
M: Jakub Kicinski <kuba@kernel.org>
3687-
L: netdev@vger.kernel.org
36883684
L: bpf@vger.kernel.org
36893685
S: Odd Fixes
36903686
F: drivers/net/ethernet/netronome/nfp/bpf/
36913687

36923688
BPF JIT for POWERPC (32-BIT AND 64-BIT)
36933689
M: Naveen N. Rao <naveen.n.rao@linux.ibm.com>
36943690
M: Michael Ellerman <mpe@ellerman.id.au>
3695-
L: netdev@vger.kernel.org
36963691
L: bpf@vger.kernel.org
36973692
S: Supported
36983693
F: arch/powerpc/net/
36993694

37003695
BPF JIT for RISC-V (32-bit)
37013696
M: Luke Nelson <luke.r.nels@gmail.com>
37023697
M: Xi Wang <xi.wang@gmail.com>
3703-
L: netdev@vger.kernel.org
37043698
L: bpf@vger.kernel.org
37053699
S: Maintained
37063700
F: arch/riscv/net/
37073701
X: arch/riscv/net/bpf_jit_comp64.c
37083702

37093703
BPF JIT for RISC-V (64-bit)
37103704
M: Björn Töpel <bjorn@kernel.org>
3711-
L: netdev@vger.kernel.org
37123705
L: bpf@vger.kernel.org
37133706
S: Maintained
37143707
F: arch/riscv/net/
@@ -3718,36 +3711,80 @@ BPF JIT for S390
37183711
M: Ilya Leoshkevich <iii@linux.ibm.com>
37193712
M: Heiko Carstens <hca@linux.ibm.com>
37203713
M: Vasily Gorbik <gor@linux.ibm.com>
3721-
L: netdev@vger.kernel.org
37223714
L: bpf@vger.kernel.org
37233715
S: Supported
37243716
F: arch/s390/net/
37253717
X: arch/s390/net/pnet.c
37263718

37273719
BPF JIT for SPARC (32-BIT AND 64-BIT)
37283720
M: David S. Miller <davem@davemloft.net>
3729-
L: netdev@vger.kernel.org
37303721
L: bpf@vger.kernel.org
37313722
S: Odd Fixes
37323723
F: arch/sparc/net/
37333724

37343725
BPF JIT for X86 32-BIT
37353726
M: Wang YanQing <udknight@gmail.com>
3736-
L: netdev@vger.kernel.org
37373727
L: bpf@vger.kernel.org
37383728
S: Odd Fixes
37393729
F: arch/x86/net/bpf_jit_comp32.c
37403730

37413731
BPF JIT for X86 64-BIT
37423732
M: Alexei Starovoitov <ast@kernel.org>
37433733
M: Daniel Borkmann <daniel@iogearbox.net>
3744-
L: netdev@vger.kernel.org
37453734
L: bpf@vger.kernel.org
37463735
S: Supported
37473736
F: arch/x86/net/
37483737
X: arch/x86/net/bpf_jit_comp32.c
37493738

3750-
BPF LSM (Security Audit and Enforcement using BPF)
3739+
BPF [CORE]
3740+
M: Alexei Starovoitov <ast@kernel.org>
3741+
M: Daniel Borkmann <daniel@iogearbox.net>
3742+
R: John Fastabend <john.fastabend@gmail.com>
3743+
L: bpf@vger.kernel.org
3744+
S: Maintained
3745+
F: kernel/bpf/verifier.c
3746+
F: kernel/bpf/tnum.c
3747+
F: kernel/bpf/core.c
3748+
F: kernel/bpf/syscall.c
3749+
F: kernel/bpf/dispatcher.c
3750+
F: kernel/bpf/trampoline.c
3751+
F: include/linux/bpf*
3752+
F: include/linux/filter.h
3753+
3754+
BPF [BTF]
3755+
M: Martin KaFai Lau <martin.lau@linux.dev>
3756+
L: bpf@vger.kernel.org
3757+
S: Maintained
3758+
F: kernel/bpf/btf.c
3759+
F: include/linux/btf*
3760+
3761+
BPF [TRACING]
3762+
M: Song Liu <song@kernel.org>
3763+
R: Jiri Olsa <jolsa@kernel.org>
3764+
L: bpf@vger.kernel.org
3765+
S: Maintained
3766+
F: kernel/trace/bpf_trace.c
3767+
F: kernel/bpf/stackmap.c
3768+
3769+
BPF [NETWORKING] (tc BPF, sock_addr)
3770+
M: Martin KaFai Lau <martin.lau@linux.dev>
3771+
M: Daniel Borkmann <daniel@iogearbox.net>
3772+
R: John Fastabend <john.fastabend@gmail.com>
3773+
L: bpf@vger.kernel.org
3774+
L: netdev@vger.kernel.org
3775+
S: Maintained
3776+
F: net/core/filter.c
3777+
F: net/sched/act_bpf.c
3778+
F: net/sched/cls_bpf.c
3779+
3780+
BPF [NETWORKING] (struct_ops, reuseport)
3781+
M: Martin KaFai Lau <martin.lau@linux.dev>
3782+
L: bpf@vger.kernel.org
3783+
L: netdev@vger.kernel.org
3784+
S: Maintained
3785+
F: kernel/bpf/bpf_struct*
3786+
3787+
BPF [SECURITY & LSM] (Security Audit and Enforcement using BPF)
37513788
M: KP Singh <kpsingh@kernel.org>
37523789
R: Florent Revest <revest@chromium.org>
37533790
R: Brendan Jackman <jackmanb@chromium.org>
@@ -3758,7 +3795,27 @@ F: include/linux/bpf_lsm.h
37583795
F: kernel/bpf/bpf_lsm.c
37593796
F: security/bpf/
37603797

3761-
BPF L7 FRAMEWORK
3798+
BPF [STORAGE & CGROUPS]
3799+
M: Martin KaFai Lau <martin.lau@linux.dev>
3800+
L: bpf@vger.kernel.org
3801+
S: Maintained
3802+
F: kernel/bpf/cgroup.c
3803+
F: kernel/bpf/*storage.c
3804+
F: kernel/bpf/bpf_lru*
3805+
3806+
BPF [RINGBUF]
3807+
M: Andrii Nakryiko <andrii@kernel.org>
3808+
L: bpf@vger.kernel.org
3809+
S: Maintained
3810+
F: kernel/bpf/ringbuf.c
3811+
3812+
BPF [ITERATOR]
3813+
M: Yonghong Song <yhs@fb.com>
3814+
L: bpf@vger.kernel.org
3815+
S: Maintained
3816+
F: kernel/bpf/*iter.c
3817+
3818+
BPF [L7 FRAMEWORK] (sockmap)
37623819
M: John Fastabend <john.fastabend@gmail.com>
37633820
M: Jakub Sitnicki <jakub@cloudflare.com>
37643821
L: netdev@vger.kernel.org
@@ -3771,13 +3828,31 @@ F: net/ipv4/tcp_bpf.c
37713828
F: net/ipv4/udp_bpf.c
37723829
F: net/unix/unix_bpf.c
37733830

3774-
BPFTOOL
3831+
BPF [LIBRARY] (libbpf)
3832+
M: Andrii Nakryiko <andrii@kernel.org>
3833+
L: bpf@vger.kernel.org
3834+
S: Maintained
3835+
F: tools/lib/bpf/
3836+
3837+
BPF [TOOLING] (bpftool)
37753838
M: Quentin Monnet <quentin@isovalent.com>
37763839
L: bpf@vger.kernel.org
37773840
S: Maintained
37783841
F: kernel/bpf/disasm.*
37793842
F: tools/bpf/bpftool/
37803843

3844+
BPF [SELFTESTS] (Test Runners & Infrastructure)
3845+
M: Andrii Nakryiko <andrii@kernel.org>
3846+
R: Mykola Lysenko <mykolal@fb.com>
3847+
L: bpf@vger.kernel.org
3848+
S: Maintained
3849+
F: tools/testing/selftests/bpf/
3850+
3851+
BPF [MISC]
3852+
L: bpf@vger.kernel.org
3853+
S: Odd Fixes
3854+
K: (?:\b|_)bpf(?:\b|_)
3855+
37813856
BROADCOM B44 10/100 ETHERNET DRIVER
37823857
M: Michael Chan <michael.chan@broadcom.com>
37833858
L: netdev@vger.kernel.org

0 commit comments

Comments
 (0)