Files
bpf-developer-tutorial/src/compatibility.zh.md
云微 ca1267d82a Add advanced eBPF tutorials 51–54 and tutorial agent skills (#220)
* Add targeted TCP connection quarantine tool

* Document TCP quarantine workflow

* Refresh package indexes before CI install

* Document TCP quarantine namespace scope

* Require BPF events for TCP iterator

* Add production fsession latency tracer

* Document fsession latency workflow

* Reject empty fsession CLI values

* Preserve successful fsession exit status

* Document fsession deadline regression test

* Drain fsession events before summary

* Document fsession PID and shutdown semantics

* Simplify fsession polling control flow

* Add bounded BPF egress pacer tutorial

* Test queued packet cleanup on signal

* Document the BPF egress pacer

* Polish and review the BPF egress pacer

* Refactor egress pacer option parsing

* Add executable image inspector lesson

* Build the exec image inspector in CI

* Document executable image inspection

* Handle re-exec chains in the image inspector

* Polish exec image inspector guidance

* Reduce exec inspector wait complexity

* Rewrite the egress pacer tutorial

* Rewrite the exec image inspector tutorial

* Polish the exec image inspector tutorial

* Correct the egress pacer tutorial

* Make the exec tutorial Chinese natural

* Fix egress tutorial prose checks

* Finish the exec tutorial style pass

* Clarify exec tutorial runtime evidence

* Polish exec tutorial scope wording

* Rewrite the egress pacer tutorial for readers

* Regenerate tutorial indexes

* Teach the egress pacer component by component

* Use standard Markdown in the egress tutorial

* Strengthen the egress pacer tutorial narrative

* jiji

* Use positive framing in the egress tutorial

* Rewrite the exec image inspector tutorial

* Rewrite the TCP quarantine tutorial

* Add the egress pacer lifecycle diagram

* Refresh TCP tutorial indexes

* Add the exec image inspection flow diagram

* Use one source directory link

* Rewrite the fsession latency tutorial

* Add fsession feature background

* Add BPF qdisc feature background

* Add TCP iterator feature background

* Add exec inspection feature background

* Require feature background in tutorial openings

* Polish fsession background prose

* Simplify repository tutorial skills

* Update exec inspector tooling revisions

* Restructure tutorials 51-54 following advanced guideline

- Update SKILL.md with strict section ordering and "why" requirements
- Rewrite README.zh.md for tutorials 51-54:
  - Add background sections explaining why traditional approaches fail
  - Move compilation/execution sections after code analysis
  - Add high-level mechanism explanation before code
  - Use paragraph style instead of bullet lists

* Consolidate skill guidelines and remove duplicates

- Update write-bpf-production-tutorial skill to reference 47, 48, 49
- Add structure requirements section with "Why" section emphasis
- Remove duplicate advanced-tutorial-guidelines.md (use scripts/guideline_advance.md instead)

* Rewrite English READMEs 51-54 to match Chinese structure

Restructure all four English tutorials to match their Chinese counterparts:
- Add "Why this approach is needed" sections explaining traditional limitations
- Add high-level mechanism sections before code
- Move compilation/execution sections after code analysis
- Add environment requirements tables
- Use consistent section ordering across all tutorials

* Regenerate TOC after tutorial title changes

Run generate_toc.py to sync SUMMARY and README files with
updated tutorial titles from the restructuring.

* Regenerate compatibility tables after title changes

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-19 19:34:09 -07:00

19 KiB
Raw Blame History

教程兼容性矩阵

本表由各教程的 .config 元数据生成。最低内核 表示教程按当前写法声明支持的最低版本;依据 标明该值来自教程文档、必需特性首次出现的版本,还是仓库声明的基线。未纳入 CI 不表示已做过手工验证。内核发行版可能禁用所列配置,因此版本号本身并不能保证兼容。

教程 最低内核 依据 架构 BTF 核心内核配置 硬件 Root 测试状态
eBPF 示例教程 0:核心概念与工具简介 不适用 不适用 全部 不需要 无 无 不需要 仅文档
eBPF 入门开发实践教程一:Hello World,基本框架和开发流程 4.8 教程文档 x86_64, arm64 不需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_FTRACE_SYSCALLS=y 无 需要 CI 运行测试
eBPF 入门开发实践教程二:在 eBPF 中使用 kprobe 监测捕获 unlink 系统调用 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_KPROBE_EVENTS=y 无 需要 CI 运行测试
eBPF 入门开发实践教程三:在 eBPF 中使用 fentry 监测捕获 unlink 系统调用 x86_64:5.5, arm64:6.0 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_BPF_JIT=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE=y 无 需要 CI 运行测试
eBPF 入门开发实践教程四:在 eBPF 中捕获进程打开文件的系统调用集合,使用全局变量过滤进程 pid 4.8 仓库基线 x86_64, arm64 不需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_FTRACE_SYSCALLS=y 无 需要 CI 运行测试
eBPF 入门开发实践教程五:在 eBPF 中使用 uprobe 捕获 bash 的 readline 函数调用 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_UPROBE_EVENTS=y 无 需要 CI 运行测试
eBPF 入门开发实践教程六:捕获进程发送信号的系统调用集合,使用 hash map 保存状态 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE_SYSCALLS=y 无 需要 CI 运行测试
eBPF 入门实践教程七:捕获进程执行事件,通过 perf event array 向用户态打印输出 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE_SYSCALLS=y, CONFIG_PERF_EVENTS=y 无 需要 CI 运行测试
eBPF 入门开发实践教程八:在 eBPF 中使用 exitsnoop 监控进程退出事件,使用 ring buffer 向用户态打印输出 5.8 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_TRACEPOINTS=y 无 需要 CI 运行测试
eBPF 入门开发实践教程九:捕获进程调度延迟,以直方图方式记录 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_TRACEPOINTS=y 无 需要 CI 运行测试
eBPF 入门开发实践教程十:在 eBPF 中使用 hardirqs 或 softirqs 捕获中断事件 5.5 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_CGROUPS=y, CONFIG_CGROUP_BPF=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE=y 无 需要 CI 运行测试
eBPF 入门开发实践教程十一:在 eBPF 中使用 libbpf 开发用户态程序并跟踪 exec() 和 exit() 系统调用 5.8 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_TRACEPOINTS=y 无 需要 CI 运行测试
eBPF 入门实践教程十二:使用 eBPF 程序 profile 进行性能分析 5.8 必需特性 x86_64, arm64 可选 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_PERF_EVENTS=y 无 需要 CI 构建测试
eBPF入门开发实践教程十三:统计 TCP 连接延时,并使用 libbpf 在用户态处理数据 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_KPROBE_EVENTS=y 无 需要 CI 运行测试
eBPF入门实践教程十四:记录 TCP 连接状态与 TCP RTT 5.5 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE=y, CONFIG_TRACEPOINTS=y 无 需要 CI 运行测试
eBPF 入门实践教程十五:使用 USDT 捕获用户态 Java GC 事件耗时 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_UPROBE_EVENTS=y 无 需要 CI 构建测试
eBPF 入门实践教程十六:编写 eBPF 程序 Memleak 监控内存泄漏 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_TRACEPOINTS=y, CONFIG_UPROBE_EVENTS=y 无 需要 CI 运行测试
eBPF 入门实践教程十七:编写 eBPF 程序统计随机/顺序磁盘 I/O 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_TRACEPOINTS=y 块设备 需要 CI 运行测试
更多的参考资料:论文、项目等等 不适用 不适用 全部 不需要 无 无 不需要 仅文档
eBPF 入门实践教程:使用 LSM 进行安全检测防御 5.7 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_LSM=y, CONFIG_DEBUG_INFO_BTF=y 无 需要 未纳入 CI
eBPF 入门实践教程二十:使用 eBPF 进行 tc 流量控制 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_NET_CLS_BPF=y|m, CONFIG_NET_SCHED=y 网络接口 需要 CI 运行测试
eBPF 入门实践教程二十一: 使用 XDP 进行可编程数据包处理 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_DEBUG_INFO_BTF=y 网络接口 需要 未纳入 CI
在 Android 上使用 eBPF 程序 5.15 教程文档 x86_64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE_SYSCALLS=y Android 设备或模拟器 需要 未纳入 CI
通过 eBPF socket filter 或 syscall trace 追踪 HTTP 请求等七层协议 - eBPF 实践教程 5.17 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE_SYSCALLS=y 无 需要 CI 运行测试
eBPF 开发实践:使用 eBPF 隐藏进程或文件信息 5.8 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE_SYSCALLS=y 无 需要 CI 构建测试
eBPF 入门实践教程:用 bpf_send_signal 发送信号终止恶意进程 5.8 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE_SYSCALLS=y 无 需要 CI 运行测试
eBPF 教程: 文件操纵实现 sudo 权限提升 5.8 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE_SYSCALLS=y 无 需要 CI 构建测试
eBPF 教程: 替换任意程序读取或者写入的文本 5.17 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE_SYSCALLS=y 无 需要 CI 构建测试
在应用程序退出后运行 eBPF 程序:eBPF 程序的生命周期 5.8 必需特性 x86_64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE=y 无 需要 CI 构建测试
eBPF 开发实践:使用 sockops 加速网络请求转发 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_CGROUPS=y, CONFIG_CGROUP_BPF=y, CONFIG_DEBUG_INFO_BTF=y 网络接口 需要 CI 构建测试
eBPF 实践教程:使用 uprobe 捕获多种库的 SSL/TLS 明文数据 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_UPROBE_EVENTS=y 无 需要 CI 运行测试
eBPF 实践教程:使用 eBPF 跟踪 Go 协程状态 5.2 必需特性 x86_64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_UPROBE_EVENTS=y 无 需要 CI 构建测试
eBPF 开发实践教程:示例 32 - 结合 On-CPU 和 Off-CPU 分析的挂钟时间分析 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_PERF_EVENTS=y 无 需要 CI 构建测试
使用 eBPF 测量函数延迟 4.8 仓库基线 x86_64, arm64 可选 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_KPROBE_EVENTS=y, CONFIG_UPROBE_EVENTS=y 无 需要 CI 构建测试
eBPF 开发实践:使用 eBPF 修改系统调用参数 5.8 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE_SYSCALLS=y 无 需要 CI 运行测试
eBPF开发实践:使用 user ring buffer 向内核异步发送信息 6.1 教程文档 x86_64, arm64 可选 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_FTRACE_SYSCALLS=y 无 需要 CI 运行测试
用户空间 eBPF 运行时:深度解析与应用实践 不适用 不适用 全部 不需要 无 无 不需要 仅文档
eBPF 实践:使用 Uprobe 追踪用户态 Rust 应用 4.8 仓库基线 x86_64, arm64 不需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_UPROBE_EVENTS=y 无 需要 CI 运行测试
借助 eBPF 和 BTF,让用户态也能一次编译、到处运行 5.2 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_UPROBE_EVENTS=y 无 需要 CI 构建测试
使用 eBPF 跟踪 Nginx 请求 4.8 仓库基线 x86_64, arm64 不需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_UPROBE_EVENTS=y 无 需要 未纳入 CI
使用 eBPF 跟踪 MySQL 查询 4.8 仓库基线 x86_64, arm64 不需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_UPROBE_EVENTS=y 无 需要 未纳入 CI
eBPF 示例教程:使用 XDP 捕获 TCP 信息 5.8 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_DEBUG_INFO_BTF=y 网络接口 需要 CI 构建测试
eBPF 开发者教程: 简单的 XDP 负载均衡器 4.8 必需特性 x86_64, arm64 可选 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y 网络接口 需要 CI 构建测试
超越 eBPF 的极限:在内核模块中定义自定义 kfunc 6.11 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_DEBUG_INFO_BTF_MODULES=y, CONFIG_KPROBE_EVENTS=y, CONFIG_MODULES=y 无 需要 CI 构建测试
eBPF 教程:BPF 调度器入门 6.12 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_SCHED_CLASS_EXT=y 无 需要 CI 构建测试
eBPF 示例教程:实现 scx_nest 调度器 6.12 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_SCHED_CLASS_EXT=y 无 需要 CI 构建测试
eBPF 实例教程:构建高性能 XDP 数据包生成器 5.18 教程文档 x86_64, arm64 可选 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_XDP_SOCKETS=y 网络接口 需要 CI 构建测试
eBPF 教程:追踪 CUDA GPU 操作 5.8 必需特性 x86_64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_UPROBE_EVENTS=y NVIDIA CUDA GPU 需要 CI 构建测试
eBPF 教程:进程级能源监控与功耗分析 5.8 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_TRACEPOINTS=y 无 需要 CI 构建测试
eBPF 教程:无需内核补丁修复故障的 HID 设备 6.3 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_HID_BPF=y, CONFIG_UHID=y|m 无 需要 CI 构建测试
eBPF 入门实践教程第五十篇:使用 TCX Link 实现可组合的流量控制 6.6 教程文档 x86_64, arm64 可选 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_NET_XGRESS=y 网络接口 需要 CI 构建测试
eBPF 教程:精准隔离已建立的 TCP 连接 6.5 教程文档 x86_64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_JIT=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_INET=y, CONFIG_PROC_FS=y 无 需要 CI 运行测试
eBPF 教程:使用 fsession 追踪慢速 vfs_read 调用 7.0 教程文档 x86_64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_JIT=y, CONFIG_BPF_EVENTS=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y 无 需要 CI 构建测试
eBPF 教程:用 BPF Qdisc 实现出口限速 6.16 教程文档 x86_64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_JIT=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_NET_SCHED=y, CONFIG_NET_SCH_BPF=y 网络接口 需要 CI 构建测试
eBPF 教程:检查 exec 后真正安装的可执行镜像 6.19 必需特性 x86_64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_JIT=y, CONFIG_BPF_LSM=y, CONFIG_SECURITY=y, CONFIG_DEBUG_INFO_BTF=y 无 需要 CI 构建测试
eBPF 实例教程:基于 cgroup 的策略控制 5.8 必需特性 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_CGROUPS=y, CONFIG_CGROUP_BPF=y, CONFIG_CGROUP_DEVICE=y, CONFIG_DEBUG_INFO_BTF=y 无 需要 CI 构建测试
eBPF 实例教程:BPF Arena 零拷贝共享内存 6.9 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_JIT=y, CONFIG_DEBUG_INFO_BTF=y 无 需要 CI 构建测试
eBPF 教程:BPF 迭代器用于内核数据导出 5.8 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_DEBUG_INFO_BTF=y 无 需要 CI 构建测试
eBPF 入门实践教程:BPF Token,安全的委托式权限与程序加载 6.9 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_USER_NS=y 无 需要 CI 构建测试
eBPF 教程:BPF 工作队列用于异步可睡眠任务 6.10 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_BPF_JIT=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_FTRACE=y 无 需要 CI 构建测试
eBPF 实例教程:BPF 动态指针处理可变长度数据 6.4 教程文档 x86_64, arm64 需要 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_DEBUG_INFO_BTF=y, CONFIG_NET_CLS_BPF=y|m, CONFIG_NET_SCHED=y 网络接口 需要 CI 构建测试
eBPF 教程:使用 BPF struct_ops 扩展内核子系统 未知 尚未验证 x86_64, arm64 需要 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 无 需要 CI 构建测试
eBPF 示例:使用 CUPTI 构建 GPU 火焰图分析器 5.8 必需特性 x86_64 可选 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_PERF_EVENTS=y, CONFIG_UPROBE_EVENTS=y NVIDIA CUDA GPU 需要 未纳入 CI
eBPF 实例教程:使用内核跟踪点监控 GPU 驱动活动 4.8 仓库基线 x86_64 可选 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y GPU 需要 未纳入 CI
eBPF 实例教程:跟踪 Intel NPU 内核驱动操作 6.2 教程文档 x86_64 可选 CONFIG_BPF=y, CONFIG_BPF_SYSCALL=y, CONFIG_BPF_EVENTS=y, CONFIG_DRM_ACCEL=y, CONFIG_DRM_ACCEL_IVPU=y|m, CONFIG_TRACEPOINTS=y Intel NPU 需要 未纳入 CI

元数据字段

  • kernel_min 与 kernel_min_basis:教程声明的最低内核及其依据;按架构不同时使用 架构:版本。
  • architectures:教程当前声明支持的架构。
  • btf 与 kernel_config:BTF 要求以及各实现路径共有的核心内核选项;供应商或挂载点特有的条件请参阅对应教程。y|m 表示内建或模块均可。
  • hardware:运行教程所需的专用硬件或环境;none 表示不需要专用硬件。
  • root:运行教程是否需要 root 权限。
  • test_status:ci-runtime 会在 CI 中实际运行,ci-build 仅验证构建,not-in-ci 表示没有 CI 证据,docs-only 表示纯文档。

字段定义和允许值由 scripts/generate_compatibility.py 校验;修改教程要求时,请更新对应 .config 并重新运行生成脚本。