LBR Source/Target Address Support
- Dominant language
- C
- Stars
- 22.7k
- Forks
- 4.1k
- Avg merge
- 10d 4h
- Merged PRs (30d)
- 3
Description
Hi! I found some old issues (ie #1234 from 2017) which mention that LBR support was on the BPF TODO list. Has this work been completed? If not, is there any tracking/discussion about it that I can follow or contribute to?
I can write a bpf program that watches for `BR_INST_RETIRED.NEAR_TAKEN` events, but I don't have a good way to actually access the source/target address ring buffer (doesn't look like I can read the `MSR_LASTBRANCH_*` registers directly from BPF, and `bpf_perf_event_read_value` just returns the pmu counter value, not the source/target values).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the referenced issue #1234 and the BPF program approach using BR_INST_RETIRED.NEAR_TAKEN. Investigate how source and target values from the MSR_LASTBRANCH_* registers could be exposed, since bpf_perf_event_read_value only returns the PMU counter value. Done means documenting the current support status and identifying a concrete tracking or contribution path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, linux
- Domain
- observability, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100