perf: introduce model specific events and AMD IBS
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest12 patches 34 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/12 | perf, x86: move perfctr init code to x86_setup_perfctr()arch/ | +14 | 1 reply | |
| 2/12 | perf, x86: moving x86_setup_perfctr()arch/ | +59 | 1 reply | |
| 3/12 | perf, x86: call x86_setup_perfctr() from .hw_config()arch/ arch/ | +3 | 1 reply | |
| 4/12 | perf: introduce flag for model specific eventsarch/ arch/ arch/ +2 more | +14 | 0 replies | |
| 5/12 | perf, x86: pass enable bit mask to __x86_pmu_enable_event()arch/ arch/ | +8 | 1 reply | |
| 6/12 | perf, x86: use weight instead of cmask in for_each_event_constraint()arch/ | +1 | 1 reply | |
| 7/12 | perf, x86: introduce bit range for special pmu eventsarch/ arch/ arch/ +1 more | +12 | 0 replies | |
| 8/12 | perf, x86: modify some code to allow the introduction of ibs eventsarch/ | +9 | 0 replies | |
| 9/12 | perf, x86: implement IBS feature detectionarch/ arch/ | +7 | 0 replies | |
| 10/12 | perf, x86: setup NMI handler for IBSarch/ arch/ | +97 | 3 replies | |
| 11/12 | perf, x86: implement AMD IBS event configurationarch/ arch/ arch/ | +179 | 11 replies | |
| 12/12 | perf, x86: implement the ibs interrupt handlerarch/ arch/ | +67 | 11 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 00/12] perf: introduce model specific events and AMD IBS
This patch series introduces model specific events and impments AMD IBS (Instruction Based Sampling) for perf_events.
IBS is documented here:
BIOS and Kernel Developer’s Guide (BKDG) For AMD Family 10h Processors
http://support.amd.com/us/Processor_TechDocs/31116.pdf
AMD64 Architecture Programmer’s Manual Volume 2: System Programming
http://support.amd.com/us/Processor_TechDocs/24593.pdf
The general approach is to introduce a flag to mark an event as model specific. With that flag set a model specific ibs (raw) config value can be passed to the pmu for setup. When there are ibs samples available, it is sent back as a raw data sample to the userland. So we have a raw config value and raw sampling data. This requires the userland to setup ibs and further extract and process sampling data.
Patches 1-8 rework and refactor the code to prepare the ibs implementation. This is done in patches 9-12.
I will add ibs example code to libpfm4.
-Robert