Right. The default however is currently to exclude_guest = 1, which is the problem. PAPI did not seem to rectify that setting…
One problem I had digging around was that libpfm always includes it’s version of the struct… When I looked at what the actual kernel wanted (it’s own linux/perf_event.h) those fields aren’t even present. The issue here is that since libpfm sees a VMX flag in the CPUINFO it always sets this bit. Phil > On Jan 4, 2016, at 2:23 PM, Vince Weaver <vincent.wea...@maine.edu> wrote: > > On Mon, 4 Jan 2016, Philip Mucci wrote: > >> Greetings and Happy New Year Stephane, >> Ok, thanks to your tips, and digging through Vince’s perf_event_tests codes, >> I tracked down this bug - it’s the exclude_guest = 1 flag. The systems I’m >> running on are paranoid level 2. Here’s the GDB log… What’s the right way to >> fix this? I have a patched library working for me, but it’s not generalized. >> Let me know and I’ll send you a patch. > > This is the perf_event "ABI compatability" stuff that causes lots of > trouble if you want to use more recent features (such as exclude_guest). > > There's really no good way to find out what version of the ABI the kernel > expects. They have the size field to detect extra additions to the end of > the attr (but that has issues due to a buggy implementation) but there's > really no way at all to detect how big the kernel expects the big "union" > in the middle to be (where the exclude_guest flags are). > > PAPI ran into this a while ago and I think the "solution" was to always > force exclude_guest off. > > Vince ------------------------------------------------------------------------------ _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel