CPU: E5-2699 v3 (Haswell)
Linux Kernel: 4.9.11-1
I'm attempting to sample code blocks associated with high cpu usage on a Haswell box using its Last Branch Record (LBR) feature but I'm getting this error:
# perf record -b -e cycles:u -p <PID>
PMU Hardware doesn't support sampling/overflow-interrupts
However, this same command works w/o issue on IvyBridge and an eval Skylake, even on an earlier kernel release (CentOS 7.1 - 3.10.0-229). Interestingly, when I execute "dmesg | grep -i pebs" on these hosts, I get the following output:
IvyBridge: Performance Events: PEBS fmt1+, 16-deep LBR, IvyBridge events, full-width counters, Intel PMU driver.
Haswell: Performance Events: PEBS fmt2+, Haswell events, full-width counters, Intel PMU driver.
Broadwell: Performance Events: PEBS fmt2+, generic architected perfmon, full-width counters, Intel PMU driver.
Skylake: Performance Events: PEBS fmt3+, 32-deep LBR, Skylake events, full-width counters, Intel PMU driver.
Only the hosts where the LBR information is specified will the LBR sampling work. Is this some bug with that particular tick-tock of HSW/BDW and LBR support?