bpf: Support replacing cgroup-bpf program in MULTI mode
Status from this message: Applied, Thanks
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v4 Latest6 patches 6 repliesApplied
- v36 patches 11 repliesSuperseded
- v26 patches 9 repliesSuperseded
Earlier versions · 1
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v1 | 5 patches | 7 replies | Superseded |
Changes in v4 from the cover letter
- use OPTS_VALID and OPTS_GET to handle bpf_prog_attach_opts.
Patches in v4 Applied
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/6 | bpf: Simplify __cgroup_bpf_attachkernel/ | +23 | 1 reply | |
| 2/6 | bpf: Remove unused new_flags in hierarchy_allows_attach()kernel/ | +2 | 0 replies | |
| 3/6 | bpf: Support replacing cgroup-bpf program in MULTI modeinclude/ include/ kernel/ +3 more | +54 | 1 reply | |
| 4/6 | libbpf: Introduce bpf_prog_attach_xattrtools/ tools/ tools/ | +28 | 1 reply | |
| 5/6 | selftests/bpf: Convert test_cgroup_attach to prog_teststools/ tools/ tools/ +3 more | +498 | 1 reply | |
| 6/6 | selftests/bpf: Test BPF_F_REPLACE in cgroup_attach_multitools/ | +50 | 1 reply |
Reviews trailers per patch
All 6 patches have a Reviewed-by or Acked-by.
| Patch | Martin KaFai Lau | Andrii Nakryiko |
|---|---|---|
| 1/6 | A-b | A-b |
| 2/6 | A-b | |
| 3/6 | A-b | A-b |
| 4/6 | A-b | |
| 5/6 | A-b | |
| 6/6 | A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH v4 bpf-next 0/6] bpf: Support replacing cgroup-bpf program in MULTI mode
v3->v4:
- use OPTS_VALID and OPTS_GET to handle bpf_prog_attach_opts.
v2->v3:
- rely on DECLARE_LIBBPF_OPTS from libbpf_common.h;
- separate "required" and "optional" arguments in bpf_prog_attach_xattr;
- convert test_cgroup_attach to prog_tests;
- move the new selftest to prog_tests/cgroup_attach_multi.
v1->v2:
- move DECLARE_LIBBPF_OPTS from libbpf.h to bpf.h (patch 4);
- switch new libbpf API to OPTS framework;
- switch selftest to libbpf OPTS framework.
This patch set adds support for replacing cgroup-bpf programs attached with BPF_F_ALLOW_MULTI flag so that any program in a list can be updated to a new version without service interruption and order of programs can be preserved.
Please see patch 3 for details on the use-case and API changes.
Other patches:
Patch 1 is preliminary refactoring of __cgroup_bpf_attach to simplify it. Patch 2 is minor cleanup of hierarchy_allows_attach.
Patch 4 extends libbpf API to support new set of attach attributes. Patch 5 converts test_cgroup_attach to prog_tests.
Patch 6 adds selftest coverage for the new API.
Andrey Ignatov (6):
bpf: Simplify __cgroup_bpf_attach
bpf: Remove unused new_flags in hierarchy_allows_attach()
bpf: Support replacing cgroup-bpf program in MULTI mode
libbpf: Introduce bpf_prog_attach_xattr selftests/bpf: Convert test_cgroup_attach to prog_tests selftests/bpf: Test BPF_F_REPLACE in cgroup_attach_multi
include/linux/bpf-cgroup.h | 4 +- include/uapi/linux/bpf.h | 10 + kernel/bpf/cgroup.c | 97 +-- kernel/bpf/syscall.c | 4 +- kernel/cgroup/cgroup.c | 5 +- tools/include/uapi/linux/bpf.h | 10 + tools/lib/bpf/bpf.c | 17 +- tools/lib/bpf/bpf.h | 11 + tools/lib/bpf/libbpf.map | 1 + tools/testing/selftests/bpf/.gitignore | 1 - tools/testing/selftests/bpf/Makefile | 3 +- .../bpf/prog_tests/cgroup_attach_autodetach.c | 111 ++++ .../bpf/prog_tests/cgroup_attach_multi.c | 285 +++++++++ .../bpf/prog_tests/cgroup_attach_override.c | 148 +++++ .../selftests/bpf/test_cgroup_attach.c | 571 ------------------ 15 files changed, 652 insertions(+), 626 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/cgroup_attach_autodetach.c create mode 100644 tools/testing/selftests/bpf/prog_tests/cgroup_attach_multi.c create mode 100644 tools/testing/selftests/bpf/prog_tests/cgroup_attach_override.c delete mode 100644 tools/testing/selftests/bpf/test_cgroup_attach.c
Signature · 1 line
2.17.1