docs: add generated tutorial compatibility matrix (#212)

* docs: declare tutorial compatibility requirements

* docs: generate tutorial compatibility matrix

* fix: correct BPF Arena minimum kernel

* refactor: simplify compatibility validation

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
This commit is contained in:
云微
2026-07-14 05:00:48 -07:00
committed by GitHub
parent e08f604769
commit 37375ff87e
78 changed files with 1167 additions and 13 deletions

View File

@@ -1,2 +1,10 @@
level=Depth
type=Features
kernel_min=6.9
kernel_min_basis=documented
architectures=x86_64,arm64
btf=required
kernel_config=CONFIG_BPF=y,CONFIG_BPF_SYSCALL=y,CONFIG_BPF_JIT=y,CONFIG_DEBUG_INFO_BTF=y
hardware=none
root=required
test_status=ci-build

View File

@@ -359,4 +359,4 @@ Our linked list example demonstrates the core arena concepts: defining an arena
- **Linux Kernel Source:** `kernel/bpf/arena.c` - Arena implementation
- **LLVM Address Spaces:** Documentation on `__arena` compiler support
This example is adapted from Meta's arena_list.c in the Linux kernel samples, with educational enhancements. Requires Linux kernel 6.10+ with `CONFIG_BPF_ARENA=y` enabled. Complete source code available in the tutorial repository.
This example is adapted from Meta's arena_list.c in the Linux kernel samples, with educational enhancements. It requires Linux kernel 6.9+ with BPF JIT support (`CONFIG_BPF_JIT=y`). BPF arena is not controlled by a separate `CONFIG_BPF_ARENA` option. Complete source code is available in the tutorial repository.

View File

@@ -357,4 +357,4 @@ BPF Arena 通过提供稀疏共享内存解决了传统 BPF map 的根本限制
- **Linux 内核源码:** `kernel/bpf/arena.c` - Arena 实现
- **LLVM 地址空间:** 关于 `__arena` 编译器支持的文档
此示例改编自 Linux 内核示例中 Meta 的 arena_list.c,并增加了教育性增强。需要 Linux 内核 6.10+ 并启用 `CONFIG_BPF_ARENA=y`。完整源代码可在教程仓库中获得。
此示例改编自 Linux 内核示例中 Meta 的 arena_list.c,并增加了教育性增强。它需要 Linux 内核 6.9+ 并启用 BPF JIT(`CONFIG_BPF_JIT=y`);BPF arena 并没有独立的 `CONFIG_BPF_ARENA` 选项。完整源代码可在教程仓库中获得。

View File

@@ -1,2 +1,10 @@
level=Depth
type=Features
kernel_min=5.8
kernel_min_basis=documented
architectures=x86_64,arm64
btf=required
kernel_config=CONFIG_BPF=y,CONFIG_BPF_SYSCALL=y,CONFIG_DEBUG_INFO_BTF=y
hardware=none
root=required
test_status=ci-build

View File

@@ -1,2 +1,10 @@
level=Depth
type=Features
kernel_min=6.9
kernel_min_basis=documented
architectures=x86_64,arm64
btf=required
kernel_config=CONFIG_BPF=y,CONFIG_BPF_SYSCALL=y,CONFIG_DEBUG_INFO_BTF=y,CONFIG_USER_NS=y
hardware=none
root=required
test_status=ci-build

View File

@@ -1,2 +1,10 @@
level=Depth
type=Features
kernel_min=6.10
kernel_min_basis=documented
architectures=x86_64,arm64
btf=required
kernel_config=CONFIG_BPF=y,CONFIG_BPF_SYSCALL=y,CONFIG_BPF_EVENTS=y,CONFIG_BPF_JIT=y,CONFIG_DEBUG_INFO_BTF=y,CONFIG_FTRACE=y
hardware=none
root=required
test_status=ci-build

View File

@@ -1,3 +1,11 @@
level=Depth
type=Features
desc=BPF Dynamic Pointers for Variable-Length Data
kernel_min=6.4
kernel_min_basis=documented
architectures=x86_64,arm64
btf=required
kernel_config=CONFIG_BPF=y,CONFIG_BPF_SYSCALL=y,CONFIG_DEBUG_INFO_BTF=y,CONFIG_NET_CLS_BPF=y|m,CONFIG_NET_SCHED=y
hardware=network-interface
root=required
test_status=not-in-ci

View File

@@ -1,2 +1,10 @@
level=Depth
type=Features
kernel_min=unknown
kernel_min_basis=unverified
architectures=x86_64,arm64
btf=required
kernel_config=CONFIG_BPF=y,CONFIG_BPF_SYSCALL=y,CONFIG_BPF_JIT=y,CONFIG_DEBUG_INFO_BTF=y,CONFIG_DEBUG_INFO_BTF_MODULES=y,CONFIG_MODULES=y
hardware=none
root=required
test_status=not-in-ci