Thanks, yes. This took me by surprise: I've been profiling different Xen guests for over a year, but this is the first time I've hit this.
All my other Xen guests: # dmesg | grep Performance [ 0.058664] Performance Events: unsupported p6 CPU model 62 no PMU driver, software events only. This linux 4.1 Xen guest: # dmesg | grep Performance [ 0.258140] Performance Events: 16-deep LBR, IvyBridge events, Intel PMU driver. Brendan On Wed, Jul 29, 2015 at 12:15 PM, David Ahern <dsah...@gmail.com> wrote: > On 7/29/15 1:04 PM, Brendan Gregg wrote: >> >> G'Day perf users, >> >> I just debugged something and wanted to share in case others hit >> this... perf CPU profiling didn't work for this Linux 4.1 guest (AWS >> EC2): >> >> # ./perf record -F 99 -a -g -- sleep 5 >> [ perf record: Woken up 1 times to write data ] >> [ perf record: Captured and wrote 0.300 MB perf.data ] >> # ./perf script >> # >> >> There are no CPU samples recorded (perf.data just has >> PERF_RECORD_MMAP, etc). I believe it's because it's using the "cycles" >> PMC event, and not "cpu-clock". And cycles is bogus: >> >> # ./perf stat -e cycles -a sleep 1 2>&1 | grep cycles >> 68,719,476,704 cycles >> # ./perf stat -e cycles -a sleep 2 2>&1 | grep cycles >> 68,719,476,704 cycles >> >> I can fix it by profiling cpu-clock: >> >> # ./perf record -e cpu-clock -a -g -- sleep 5 >> [ perf record: Woken up 27 times to write data ] >> [ perf record: Captured and wrote 9.884 MB perf.data (105989 samples) ] >> # ./perf script >> [...data...] >> >> Which is what I think all my other systems are doing anyway; some perf >> -v -v output from those other systems: >> >> [...] >> sys_perf_event_open: pid -1 cpu 0 group_fd -1 flags 0x8 >> sys_perf_event_open failed, error -2 >> Warning: >> The cycles event is not supported, trying to fall back to cpu-clock-ticks >> [...] >> >> This 4.1 system has these: >> >> # cat /sys/devices/cpu/events/cpu-cycles >> event=0x3c >> >> Which other systems don't. Profiling these (eg, -e r003c) also doesn't >> work. >> >> So I can use "-e cpu-clock", which is fine. It even lets me set the >> profile frequency: >> >> # ./perf record -F 99 -e cpu-clock -a -- sleep 1 >> >> Maybe this issue is already known and fixed in latest. I couldn't find >> anything in a search... >> > > It's a known problem with VMs (Solaris based ldoms and apparently xen guests > as examples). The hypervisor tells perf it has a PMU (see dmesg | grep > Performance) but does not really implement it (no NMIs for example). > > David > -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html