Try counting all taken branches on Intel
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.7k
- Forks
- 662
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 2
Description
This would avoid issues like #2263 where we get into identical-looking program states.
We could try something like @pipcet did for AMD Bulldozer, using the difference of two performance counters to get a reliable value.
Another possibility is to use Intel PT to track control flow. We might not be able to trigger interrupts for replay but that might be OK since the counter for interrupts doesn't need to be as reliable.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing issue #2263 and the AMD Bulldozer approach mentioned here. Investigate whether Intel performance-counter differences can reliably count taken branches, and compare that option with Intel PT control-flow tracking. Done means identifying a viable approach and determining whether replay and interrupt-counter requirements can be satisfied.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- devtools, operating-systems, performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100