On 02/22/2016 10:05 AM, Philip Mucci wrote: > HI Will, > > I’ve run into a problem with this on a Sandia system, where no matter how > hard I tried, I could not get libpfm to run. I had to hack libpfm enough to > get it to use the internal systems perf_event.h… I haven’t tried it recently, > to see if everything started working again. My approach however is bogus > overall, because the idea of libpfm currently is to use the most recent > header file we have and zero everything out. (I think it was the evil > exclude_guest plus paranoid=1 combo that did it). The kernel seems to do a > good job of ignoring everything extra as far as I can tell… So I’ve never yet > had an issue with writing zeroes everywhere in a big struct and handing it to > old kernels…. > > One thing we did have a request come in is that we have REAL shared library > versioning so if you have a patch for this, that would be great. Major > version should signify API breakage…. > > Regards
Hi Phil, In theory the kernel handles the perf_event_attr appropriately based on the size field of the struct passed in by perf_copy_attr(). However, if libpfm is using a perf_event_attr struct larger than the kernel knows about any non-zero bits in the part that the kernel doesn't know about are going to cause the copy to fail: http://lxr.free-electrons.com/source/kernel/events/core.c#L8028 That would explain why exclude_guest being set by libpfm would cause a problem if the kernel didn't know about it. -Will >> On Feb 17, 2016, at 10:27 PM, William Cohen <wco...@redhat.com> wrote: >> >> One thing that is concerning is the change to perf_event_attr_t for >> pfm_get_perf_event_encoding. The struct is now larger. This could >> lead to some fields being uninitialized when passed into a libpfm >> function or could cause writes pass the end of smaller sized struct >> used in older code. > ------------------------------------------------------------------------------ Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140 _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel