-
Notifications
You must be signed in to change notification settings - Fork 5
Home
John D McCalpin edited this page Aug 19, 2020
·
1 revision
Hardware performance counters in modern processors are complex, subtle, and poorly documented.
Putting on my cynical hat, I claim that we are starting with two strikes against us:
- We don't know (in detail) what the performance counter is supposed to count.
- Performance counters are typically tied very closely to the processor implementation, the details of which are not public.
- We don't know if the performance counter counts that quantity accurately.
- "Bugs" in performance counters are seldom a high priority in processor validation.
It is often possible to work past these two "strikes", but most performance tools sneak in a third:
- We don't know (in detail) how the performance counter events are programmed.
Instead of attempting to abstract the interface to the performance counters, this project focuses on remaining completely concrete -- requiring the user to specify every detail of the hardware performance counter configuration, and providing a framework to program the counters and acquire the counts at specified intervals.