Use "Branch Trace Store" to compare executions
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.7k
- Forks
- 662
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 2
Description
This is like #532 on steroids: we use the hardware branch recorder to log all branches in recording, say. Then we do the same thing in replay and compare. The upside is that it's perfectly precise, always up-to-date, fast, and doesn't require any recompiling. Downside is that it will generate a lot more data than #532 in general, so maybe not appropriate for checking long executions, and it requires burrowing a software hole down to privileged hardware.
We got this close to having a |perf branch| tool [1], but AFAICT the implementation died in committee [2]. Argh! So won't get this interface "for free".
[1] https://events.linuxfoundation.org/slides/2011/linuxcon-japan/lcj2011_nagai.pdf
[2] https://lkml.org/lkml/2011/5/30/234
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
The issue names no implementation files or tests. Start by reviewing issue #532 and the linked Linux perf branch-tool references, then determine the scope of comparing branch traces from recording and replay; done would mean a precise comparison approach that accounts for data volume and privileged hardware access.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- linux
- Domain
- operating-systems, reverse-engineering
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100