chore(ebpf): Add Linux CO-RE eBPF feasibility spike - #717
Open
mostafa wants to merge 5 commits into
Open
Conversation
Pull in cilium/ebpf v0.20.0 for the Linux CO-RE instrumentation spike and future event source work.
Encode the hard Linux runtime contract (kernel >=5.9, runtime BTF, ringbuf, tracing/iter support) and prototype ProcessKey-based startup reconciliation with bounded pending-queue and drop metrics.
Prove sched_process_exec ringbuf capture, iter/task baseline without bpf_d_path, shared-map replacement across separately generated objects, best-effort /proc enrichment, and race-safe startup on a real kernel.
Record validated runtime/tooling prerequisites, spike proofs, Windows coupling hotspots, and the ps.Snapshotter consumer migration needed for a Linux build.
Ignore late iterator snapshots after live switch, avoid double-closing MapReplacement-owned maps, and back off on persistent ringbuf read errors.
mostafa
force-pushed
the
feat/linux-ebpf-spike
branch
from
August 5, 2026 19:52
c1cf6ef to
7f4086c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What is the purpose of this PR / why it is needed?
Validates that Fibratus can load CO-RE eBPF programs on Linux with the hard runtime contract needed for a future eBPF event source: kernel >=5.9, usable
/sys/kernel/btf/vmlinux, ring buffers, anditer/taskprocess baseline capture withoutbpf_d_path. The spike also proves shared-map replacement across separately generated objects, best-effort/procenrichment, and race-safe startup reconciliation keyed by PID + start boot time. A feasibility note audits Windows coupling and everyps.Snapshotterconsumer that must move before a Linux build can land.What type of change does this PR introduce?
/kind improvement
Any specific area of the project related to this PR?
/area instrumentation
/area deps
/area build
Special notes for the reviewer
internal/ebpf/spikewith committed bpf2go artifacts. Ordinary builds do not require clang; regenerate withinternal/ebpf/spike/generate.sh.internal/ebpf.ProbePrerequisites.iter/taskattach remains the conclusive iterator check inside the spike runner.pending_queued/replay_applied> 0).How to reproduce the spike:
Does this PR introduce a user-facing change?
No.