mirror of
https://github.com/eunomia-bpf/bpf-developer-tutorial.git
synced 2026-02-02 17:59:47 +08:00
docs: Update README and SUMMARY files to include Intel NPU kernel driver lessons and cgroup policy control
feat: Enhance TOC generation script to include non-numbered directories with .config files chore: Add .config file for cgroup-based policy control
This commit is contained in:
@@ -56,9 +56,9 @@ This section covers advanced topics related to eBPF, including using eBPF progra
|
||||
GPU:
|
||||
|
||||
- [lesson 47-cuda-events](src/47-cuda-events/README.md) Tracing CUDA GPU Operations
|
||||
- [lesson xpu/npu-kernel-driver](src/xpu/npu-kernel-driver/README.md) Tracing Intel NPU Kernel Driver Operations
|
||||
- [xpu flamegraph](src/xpu/flamegraph/README.md) Building a GPU Flamegraph Profiler with CUPTI
|
||||
- [lesson xpu/gpu-kernel-driver](src/xpu/gpu-kernel-driver/README.md) Monitoring GPU Driver Activity with Kernel Tracepoints
|
||||
- [xpu flamegraph](src/xpu/flamegraph/README.md) Building a GPU Flamegraph Profiler with CUPTI
|
||||
- [lesson xpu/npu-kernel-driver](src/xpu/npu-kernel-driver/README.md) Tracing Intel NPU Kernel Driver Operations
|
||||
|
||||
|
||||
Scheduler:
|
||||
@@ -103,14 +103,15 @@ Features:
|
||||
- [lesson 36-userspace-ebpf](src/36-userspace-ebpf/README.md) Userspace eBPF Runtimes: Overview and Applications
|
||||
- [lesson 38-btf-uprobe](src/38-btf-uprobe/README.md) Expanding eBPF Compile Once, Run Everywhere(CO-RE) to Userspace Compatibility
|
||||
- [lesson 43-kfuncs](src/43-kfuncs/README.md) Extending eBPF Beyond Its Limits: Custom kfuncs in Kernel Modules
|
||||
- [features bpf_wq](src/features/bpf_wq/README.md) BPF Workqueues for Asynchronous Sleepable Tasks
|
||||
- [features bpf_iters](src/features/bpf_iters/README.md) BPF Iterators for Kernel Data Export
|
||||
- [features struct_ops](src/features/struct_ops/README.md) Extending Kernel Subsystems with BPF struct_ops
|
||||
- [features bpf_iters](src/features/bpf_iters/README.md) BPF Iterators for Kernel Data Export
|
||||
- [features bpf_arena](src/features/bpf_arena/README.md) BPF Arena for Zero-Copy Shared Memory
|
||||
- [features bpf_wq](src/features/bpf_wq/README.md) BPF Workqueues for Asynchronous Sleepable Tasks
|
||||
|
||||
Other:
|
||||
|
||||
- [lesson 49-hid](src/49-hid/README.md) Fixing Broken HID Devices Without Kernel Patches
|
||||
- [cgroup](src/cgroup/README.md) cgroup-based Policy Control
|
||||
|
||||
|
||||
Android:
|
||||
|
||||
@@ -53,9 +53,9 @@
|
||||
GPU:
|
||||
|
||||
- [lesson 47-cuda-events](src/47-cuda-events/README.zh.md) eBPF 教程:追踪 CUDA GPU 操作
|
||||
- [lesson xpu/npu-kernel-driver](src/xpu/npu-kernel-driver/README.zh.md) eBPF 实例教程:跟踪 Intel NPU 内核驱动操作
|
||||
- [xpu flamegraph](src/xpu/flamegraph/README.zh.md) eBPF 示例:使用 CUPTI 构建 GPU 火焰图分析器
|
||||
- [lesson xpu/gpu-kernel-driver](src/xpu/gpu-kernel-driver/README.zh.md) eBPF 实例教程:使用内核跟踪点监控 GPU 驱动活动
|
||||
- [xpu flamegraph](src/xpu/flamegraph/README.zh.md) eBPF 示例:使用 CUPTI 构建 GPU 火焰图分析器
|
||||
- [lesson xpu/npu-kernel-driver](src/xpu/npu-kernel-driver/README.zh.md) eBPF 实例教程:跟踪 Intel NPU 内核驱动操作
|
||||
调度器:
|
||||
|
||||
- [lesson 44-scx-simple](src/44-scx-simple/README.zh.md) eBPF 教程:BPF 调度器入门
|
||||
@@ -81,13 +81,14 @@ GPU:
|
||||
- [lesson 36-userspace-ebpf](src/36-userspace-ebpf/README.zh.md) 用户空间 eBPF 运行时:深度解析与应用实践
|
||||
- [lesson 38-btf-uprobe](src/38-btf-uprobe/README.zh.md) 借助 eBPF 和 BTF,让用户态也能一次编译、到处运行
|
||||
- [lesson 43-kfuncs](src/43-kfuncs/README.zh.md) 超越 eBPF 的极限:在内核模块中定义自定义 kfunc
|
||||
- [features bpf_wq](src/features/bpf_wq/README.zh.md) eBPF 教程:BPF 工作队列用于异步可睡眠任务
|
||||
- [features bpf_iters](src/features/bpf_iters/README.zh.md) eBPF 教程:BPF 迭代器用于内核数据导出
|
||||
- [features struct_ops](src/features/struct_ops/README.zh.md) eBPF 教程:使用 BPF struct_ops 扩展内核子系统
|
||||
- [features bpf_iters](src/features/bpf_iters/README.zh.md) eBPF 教程:BPF 迭代器用于内核数据导出
|
||||
- [features bpf_arena](src/features/bpf_arena/README.zh.md) eBPF 实例教程:BPF Arena 零拷贝共享内存
|
||||
- [features bpf_wq](src/features/bpf_wq/README.zh.md) eBPF 教程:BPF 工作队列用于异步可睡眠任务
|
||||
特性:
|
||||
|
||||
- [lesson 49-hid](src/49-hid/README.zh.md) eBPF 教程:无需内核补丁修复故障的 HID 设备
|
||||
- [cgroup](src/cgroup/README.zh.md) eBPF 实例教程:基于 cgroup 的策略控制
|
||||
Android:
|
||||
|
||||
- [lesson 22-android](src/22-android/README.zh.md) 在 Android 上使用 eBPF 程序
|
||||
|
||||
@@ -37,6 +37,9 @@ def generate_toc(base_dir, project_root, output_file_dir):
|
||||
# Add numbered directories directly
|
||||
if re.match(r'^\d+', item):
|
||||
all_dirs.append(item)
|
||||
# Also add non-numbered directories that have .config file
|
||||
elif os.path.exists(os.path.join(item_path, ".config")):
|
||||
all_dirs.append(item)
|
||||
# Also scan subdirectories (like features/, xpu/)
|
||||
else:
|
||||
for subitem in os.listdir(item_path):
|
||||
@@ -165,6 +168,9 @@ def generate_toc_cn(base_dir, project_root, output_file_dir):
|
||||
# Add numbered directories directly
|
||||
if re.match(r'^\d+', item):
|
||||
all_dirs.append(item)
|
||||
# Also add non-numbered directories that have .config file
|
||||
elif os.path.exists(os.path.join(item_path, ".config")):
|
||||
all_dirs.append(item)
|
||||
# Also scan subdirectories (like features/, xpu/)
|
||||
else:
|
||||
for subitem in os.listdir(item_path):
|
||||
|
||||
@@ -47,9 +47,9 @@ This section covers advanced topics related to eBPF, including using eBPF progra
|
||||
GPU:
|
||||
|
||||
- [lesson 47-cuda-events](47-cuda-events/README.md) Tracing CUDA GPU Operations
|
||||
- [lesson xpu/npu-kernel-driver](xpu/npu-kernel-driver/README.md) Tracing Intel NPU Kernel Driver Operations
|
||||
- [xpu flamegraph](xpu/flamegraph/README.md) Building a GPU Flamegraph Profiler with CUPTI
|
||||
- [lesson xpu/gpu-kernel-driver](xpu/gpu-kernel-driver/README.md) Monitoring GPU Driver Activity with Kernel Tracepoints
|
||||
- [xpu flamegraph](xpu/flamegraph/README.md) Building a GPU Flamegraph Profiler with CUPTI
|
||||
- [lesson xpu/npu-kernel-driver](xpu/npu-kernel-driver/README.md) Tracing Intel NPU Kernel Driver Operations
|
||||
|
||||
|
||||
Scheduler:
|
||||
@@ -94,14 +94,15 @@ Features:
|
||||
- [lesson 36-userspace-ebpf](36-userspace-ebpf/README.md) Userspace eBPF Runtimes: Overview and Applications
|
||||
- [lesson 38-btf-uprobe](38-btf-uprobe/README.md) Expanding eBPF Compile Once, Run Everywhere(CO-RE) to Userspace Compatibility
|
||||
- [lesson 43-kfuncs](43-kfuncs/README.md) Extending eBPF Beyond Its Limits: Custom kfuncs in Kernel Modules
|
||||
- [features bpf_wq](features/bpf_wq/README.md) BPF Workqueues for Asynchronous Sleepable Tasks
|
||||
- [features bpf_iters](features/bpf_iters/README.md) BPF Iterators for Kernel Data Export
|
||||
- [features struct_ops](features/struct_ops/README.md) Extending Kernel Subsystems with BPF struct_ops
|
||||
- [features bpf_iters](features/bpf_iters/README.md) BPF Iterators for Kernel Data Export
|
||||
- [features bpf_arena](features/bpf_arena/README.md) BPF Arena for Zero-Copy Shared Memory
|
||||
- [features bpf_wq](features/bpf_wq/README.md) BPF Workqueues for Asynchronous Sleepable Tasks
|
||||
|
||||
Other:
|
||||
|
||||
- [lesson 49-hid](49-hid/README.md) Fixing Broken HID Devices Without Kernel Patches
|
||||
- [cgroup](cgroup/README.md) cgroup-based Policy Control
|
||||
|
||||
|
||||
Android:
|
||||
|
||||
@@ -45,9 +45,9 @@
|
||||
GPU:
|
||||
|
||||
- [lesson 47-cuda-events](47-cuda-events/README.zh.md) eBPF 教程:追踪 CUDA GPU 操作
|
||||
- [lesson xpu/npu-kernel-driver](xpu/npu-kernel-driver/README.zh.md) eBPF 实例教程:跟踪 Intel NPU 内核驱动操作
|
||||
- [xpu flamegraph](xpu/flamegraph/README.zh.md) eBPF 示例:使用 CUPTI 构建 GPU 火焰图分析器
|
||||
- [lesson xpu/gpu-kernel-driver](xpu/gpu-kernel-driver/README.zh.md) eBPF 实例教程:使用内核跟踪点监控 GPU 驱动活动
|
||||
- [xpu flamegraph](xpu/flamegraph/README.zh.md) eBPF 示例:使用 CUPTI 构建 GPU 火焰图分析器
|
||||
- [lesson xpu/npu-kernel-driver](xpu/npu-kernel-driver/README.zh.md) eBPF 实例教程:跟踪 Intel NPU 内核驱动操作
|
||||
调度器:
|
||||
|
||||
- [lesson 44-scx-simple](44-scx-simple/README.zh.md) eBPF 教程:BPF 调度器入门
|
||||
@@ -73,13 +73,14 @@ GPU:
|
||||
- [lesson 36-userspace-ebpf](36-userspace-ebpf/README.zh.md) 用户空间 eBPF 运行时:深度解析与应用实践
|
||||
- [lesson 38-btf-uprobe](38-btf-uprobe/README.zh.md) 借助 eBPF 和 BTF,让用户态也能一次编译、到处运行
|
||||
- [lesson 43-kfuncs](43-kfuncs/README.zh.md) 超越 eBPF 的极限:在内核模块中定义自定义 kfunc
|
||||
- [features bpf_wq](features/bpf_wq/README.zh.md) eBPF 教程:BPF 工作队列用于异步可睡眠任务
|
||||
- [features bpf_iters](features/bpf_iters/README.zh.md) eBPF 教程:BPF 迭代器用于内核数据导出
|
||||
- [features struct_ops](features/struct_ops/README.zh.md) eBPF 教程:使用 BPF struct_ops 扩展内核子系统
|
||||
- [features bpf_iters](features/bpf_iters/README.zh.md) eBPF 教程:BPF 迭代器用于内核数据导出
|
||||
- [features bpf_arena](features/bpf_arena/README.zh.md) eBPF 实例教程:BPF Arena 零拷贝共享内存
|
||||
- [features bpf_wq](features/bpf_wq/README.zh.md) eBPF 教程:BPF 工作队列用于异步可睡眠任务
|
||||
特性:
|
||||
|
||||
- [lesson 49-hid](49-hid/README.zh.md) eBPF 教程:无需内核补丁修复故障的 HID 设备
|
||||
- [cgroup](cgroup/README.zh.md) eBPF 实例教程:基于 cgroup 的策略控制
|
||||
Android:
|
||||
|
||||
- [lesson 22-android](22-android/README.zh.md) 在 Android 上使用 eBPF 程序
|
||||
|
||||
2
src/cgroup/.config
Normal file
2
src/cgroup/.config
Normal file
@@ -0,0 +1,2 @@
|
||||
level=Depth
|
||||
type=Other
|
||||
Reference in New Issue
Block a user