# libbpf
eBPF プログラム本番実装用の C ライブラリ。[[BCC]] によるラピッドプロトタイピングから移行する先として位置づけられる。**CO-RE (Compile Once - Run Everywhere)** をサポートしており、一度コンパイルしたバイナリを異なるカーネルバージョン上で動作させられる。
CO-RE の仕組み: コンパイル時に BTF(BPF Type Format)に再配置情報を埋め込み、実行時に接続先カーネルの BTF メタデータと照合する。カーネルのデータ構造が異なるバージョン間でも同一バイナリで動作。([[@2021__yuuk.io__Linux eBPF Tracing Technology]])
2020 年以降、BCC の Python ツール群は libbpf ベースへの移行が推奨されている。[[ProfInfer]] は Python 非対応の OpenHarmony 上で libbpf を用いて tracer を実装する(Ubuntu 上では [[BCC]] を使う)。[[@2026__eunomia.dev__CUDA Events - eBPF-based CUDA API Tracing]] も、CUDA API トレーサの eBPF ロードと uprobe アタッチに libbpf を用いている。(Source: [[@2026__arXiv__ProfInfer - An eBPF-based Fine-Grained LLM Inference Profiler]], §2.3, 表1; [[@2026__eunomia.dev__CUDA Events - eBPF-based CUDA API Tracing]])
## 関連
- ソース: [[@2021__yuuk.io__Linux eBPF Tracing Technology]] / [[@2026__arXiv__ProfInfer - An eBPF-based Fine-Grained LLM Inference Profiler]] / [[@2026__eunomia.dev__CUDA Events - eBPF-based CUDA API Tracing]]
- エンティティ: [[BCC]] / [[bpftrace]]
- 概念: [[eBPF]] / [[動的計装|動的インストルメンテーション]] / [[CUDA API トレース]]