Commit Graph

332 Commits

Author SHA1 Message Date
LinuxDev9002
a01ff70ee9 Standardize tutorial source links 2026-07-19 13:54:32 -07:00
LinuxDev9002
2dc1d319fb Add diagram guidance to tutorial skills 2026-07-19 02:34:34 -07:00
LinuxDev9002
067e485380 Prefer positive tutorial prose 2026-07-19 01:24:16 -07:00
LinuxDev9002
fdd46244c3 Refine tutorial writing workflow 2026-07-19 01:15:10 -07:00
LinuxDev9002
858a156bcb Restore tutorial checker executable bits 2026-07-18 23:28:32 -07:00
LinuxDev9002
bb87059e0c Keep public tutorial references self-contained 2026-07-18 23:28:18 -07:00
LinuxDev9002
496579074a Keep tutorial source and explanations together 2026-07-18 23:10:05 -07:00
LinuxDev9002
44d61dbdd0 Simplify the tutorial writing workflow 2026-07-18 22:03:08 -07:00
LinuxDev9002
a77417dbc7 Separate tutorial and Skill review gates 2026-07-18 20:23:00 -07:00
LinuxDev9002
b523765944 Keep complete-source synchronization byte exact 2026-07-18 20:13:43 -07:00
LinuxDev9002
7f7ec65363 Test the isolated writer trace verifier 2026-07-18 20:11:07 -07:00
LinuxDev9002
036c793c87 Close tutorial workflow isolation gaps 2026-07-18 20:02:26 -07:00
LinuxDev9002
b81d4640f5 Refactor source block validation 2026-07-18 19:46:47 -07:00
LinuxDev9002
8d306e1622 Harden the tutorial writing workflow 2026-07-18 19:43:35 -07:00
LinuxDev9002
c266234034 Check complete tutorial source blocks 2026-07-18 19:10:07 -07:00
LinuxDev9002
f865650c54 Split tutorial workflow and writing style skills 2026-07-18 18:53:55 -07:00
LinuxDev9002
182f48fa8e Refresh apt metadata in libbpf CI 2026-07-18 16:33:51 -07:00
LinuxDev9002
c1f0298cb4 Add cross-model tutorial writing review 2026-07-18 15:53:39 -07:00
LinuxDev9002
8f294faa9c Reduce trace verifier complexity 2026-07-18 15:44:55 -07:00
LinuxDev9002
1abe2b9912 Enforce tutorial writer safety boundaries 2026-07-18 15:42:30 -07:00
LinuxDev9002
b48a2381d7 Add repository-local tutorial agent skills 2026-07-18 15:27:12 -07:00
云微
c054586a39 Fix verified eBPF tutorial examples and instructions (#211)
* docs: fix XDP stub compile command

* docs: link hardirqs example headers

* fix: capture the actual TCP header length

* docs: refresh generated tutorial index

* Revert "docs: refresh generated tutorial index"

This reverts commit 6a2418a277.

* fix: print TCP header length as unsigned

* docs: sync TCP header debug format

* fix: address final tutorial portability review

* docs: auto-generate documentation

* Revert "docs: auto-generate documentation"

This reverts commit be93763602.

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-07-14 14:14:09 -07:00
云微
929aec4441 build: stop tracking generated tutorial artifacts (#215)
* build: stop tracking generated tutorial artifacts

* build: avoid duplicating the goroutine offset

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 06:32:13 -07:00
云微
964b65b53d ci: validate tutorial sync with the Next.js site (#214)
* ci: test tutorial sync with Next.js

* ci: target the canonical website repository

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 06:09:50 -07:00
云微
b1d81046d7 ci: cover all libbpf Makefile tutorials (#213)
* ci: cover all libbpf Makefile tutorials

* ci: build modules against HWE headers

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 05:25:47 -07:00
云微
37375ff87e 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>
2026-07-14 05:00:48 -07:00
云微
e08f604769 Fix bilingual tutorial indexes and internal links (#209)
* Fix bilingual tutorial index generation

* Check relative Markdown links in CI

* Harden documentation regression checks

* Reduce link parser complexity

* Run link checks for every repository change

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 04:10:51 -07:00
github-actions[bot]
8bfc912d6a docs: auto-generate documentation 2026-07-14 10:58:52 +00:00
云微
39e3f59119 ci: support Rust 1.97 and modernize workflows (#210)
* Modernize workflow actions and permissions

* Test the fentry tutorial in CI

* Support Rust 1.97 symbol mangling

* Limit documentation writes to main

* Harden Rust symbol resolution

---------

Co-authored-by: LinuxDev9002 <i@littlefisher.me>
2026-07-14 03:58:41 -07:00
云微
3a722c03d5 feat: add tcx and bpf token tutorials (#203)
* feat: add tcx and bpf token tutorials

* docs: auto-generate documentation

* docs: rewrite tcx and bpf_token tutorials with richer content and consistent style

Rewrote all 4 README files (EN/ZH for both tutorials) to match the
existing tutorial style with detailed background, full code listings,
step-by-step explanations, comparison tables, and proper references.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* style: replace em dashes with colons, commas, and parentheses

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* docs: auto-generate documentation

* ci: add tcx and bpf_token builds to CI; simplify execl in token_userns_demo

- Add make targets for src/50-tcx and src/features/bpf_token to the
  test-libbpf CI workflow.
- Replace four separate execl() calls with a single execv() using a
  dynamically built argv array, reducing complexity and eliminating
  CodeFactor command-injection false positives.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* ci: fix mkdocs path in trigger-sync workflow

Use .venv/bin/mkdocs instead of bare mkdocs, since make install
puts it inside a virtualenv.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: LinuxDev9002 <linuxdev8883@example.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 21:23:23 -07:00
github-actions[bot]
ee6d522e40 docs: auto-generate documentation 2026-03-06 22:49:21 +00:00
LinuxDev9002
f5564cfa77 fix: Update links in README files for kprobe examples and clarify base program descriptions 2026-03-06 14:47:38 -08:00
KEROLT
d06ec2f281 fix: Correct tutorial 12 profile folded stack format (#202)
- Reorder stack processing to place kernel frames at bottom and user frames on top
- Match expected flamegraph.pl input format
- Simplify output to standard folded format: "comm;stack1;stack2 count"
- Remove timestamp and CPU metadata
2026-02-20 22:17:08 -08:00
Copilot
bb994bf436 Fix curl hanging in XDP load balancer: backend servers reject mismatched Host headers (#198)
* Initial plan

* Add simple HTTP server and update docs to fix curl hanging issue

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Fix code review issues: remove unnecessary shutdown() and fix spacing

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Add test script to verify HTTP servers handle mismatched Host headers

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Add comprehensive solution documentation for curl hanging issue

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Update src/42-xdp-loadbalancer/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: 云微 <1067852565@qq.com>

* Update src/42-xdp-loadbalancer/README.zh.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: 云微 <1067852565@qq.com>

* Update src/42-xdp-loadbalancer/SOLUTION.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: 云微 <1067852565@qq.com>

* Delete src/42-xdp-loadbalancer/__pycache__/simple_http_server.cpython-312.pyc

Signed-off-by: 云微 <1067852565@qq.com>

* Delete src/42-xdp-loadbalancer/SOLUTION.md

Signed-off-by: 云微 <1067852565@qq.com>

---------

Signed-off-by: 云微 <1067852565@qq.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>
Co-authored-by: 云微 <1067852565@qq.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-12 06:20:14 -08:00
Copilot
8e4e94c346 Remove incorrect cgroup filtering from runqlat (#201)
* Initial plan

* Fix incorrect cgroup filtering in runqlat - remove checks for waker instead of wakee

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Clarify that filter_cg is deprecated and has no effect

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Update docs to show DEPRECATED comment in code snippets and mention --filter_cg is no-op

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Remove filter_cg and cgroup_map completely from code and docs

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>
2026-02-11 22:51:53 -08:00
Copilot
251aa12262 Add troubleshooting guide for fentry attachment failures in 3-fentry-unlink (#200)
* Initial plan

* Add troubleshooting section for fentry-unlink example with kernel compatibility guidance

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>
2026-02-10 15:51:54 -08:00
Copilot
1d9958487a Fix Rust uprobe tutorial and add CI tests in dedicated workflow (#197)
* Initial plan

* Fix issue #173: Update Rust uprobe documentation to use debug build and correct function symbol

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Add CI tests for Rust uprobe tutorial (issue #173)

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Update src/37-uprobe-rust/README.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: 云微 <1067852565@qq.com>

* Update src/37-uprobe-rust/README.zh.md

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: 云微 <1067852565@qq.com>

* Use wildcard patterns for Rust symbol matching in bpftrace examples

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Add CI test to verify bpftrace can attach to Rust uprobe

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Separate bpftrace tests into new test-bpftrace.yml workflow

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

---------

Signed-off-by: 云微 <1067852565@qq.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>
Co-authored-by: 云微 <1067852565@qq.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-10 12:57:01 -08:00
Copilot
95377603c6 Fix tutorial 1 compilation with ecc by using vmlinux.h (#199)
* Initial plan

* Fix tutorial 1 compilation by including vmlinux.h

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

* Update README documentation to reference vmlinux.h consistently

Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: yunwei37 <34985212+yunwei37@users.noreply.github.com>
2026-02-10 12:04:28 -08:00
github-actions[bot]
98682eed04 docs: auto-generate documentation 2026-02-01 00:34:59 +00:00
github-actions[bot]
9d08062cb7 fix: Update struct references from config to dynptr_cfg in README files 2026-02-01 00:34:43 +00:00
github-actions[bot]
c42ba4f9ab Add BPF dynptr TC demo implementation
- Implement BPF program for TC ingress using dynptrs to safely parse packet headers and manage variable-length ringbuf records.
- Create user-space loader for the BPF program, allowing configuration of blocked ports and snapshot lengths for TCP payloads.
- Define necessary data structures and constants in header file for both BPF and user-space contexts.
- Add a comprehensive test script to validate functionality, including basic packet capture and port blocking tests.
2026-02-01 00:34:43 +00:00
github-actions[bot]
2fa73cbe3f docs: auto-generate documentation 2026-01-31 05:55:36 +00:00
github-actions[bot]
342acab9af 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
2026-01-31 05:55:22 +00:00
github-actions[bot]
6d3ba3ea34 feat: Add cgroup eBPF policy guard with TCP, device, and sysctl controls
- Implemented cgroup-based access control using eBPF with three main functionalities:
  1. Block TCP connections to specified ports.
  2. Deny access to specified devices.
  3. Control sysctl read/write operations.
- Added necessary Makefile and documentation for building and running the policy guard.
2026-01-31 05:37:35 +00:00
Littlefisher
42884e3cef docs: Revise README files for clarity on extending kernel behavior with BPF struct_ops 2026-01-11 23:39:46 -08:00
Littlefisher
34f690385e docs: Update README files to include information on extending GPU driver behavior with eBPF and the gpu_ext project 2026-01-11 23:27:20 -08:00
Littlefisher
48afb3265d docs: Enhance README files with examples of GPU scheduling and memory offloading using BPF struct_ops 2026-01-11 02:41:31 -08:00
github-actions[bot]
c1d56c531f docs: auto-generate documentation 2026-01-11 10:28:35 +00:00
Littlefisher
cbc6658f80 Add Chinese translation for eBPF tutorial on BPF struct_ops
This commit introduces a comprehensive Chinese translation of the eBPF tutorial focused on using BPF struct_ops to extend kernel subsystems. The tutorial covers the challenges of kernel development, the benefits of using BPF struct_ops, and provides detailed examples of implementing a kernel module, BPF program, and user-space loader. The content aims to enhance accessibility for Chinese-speaking developers interested in eBPF and kernel programming.
2026-01-11 02:28:21 -08:00
github-actions[bot]
8372e9bf1c feat: Enhance test_3 to safely read from kernel buffer and return length 2025-11-16 06:19:28 +00:00