On Thu, Apr 8, 2010 at 11:15 PM, Peter Zijlstra <pet...@infradead.org> wrote: > On Thu, 2010-04-08 at 23:08 +0200, Stephane Eranian wrote: >> On Thu, Apr 8, 2010 at 10:55 PM, Peter Zijlstra <pet...@infradead.org> wrote: >> > On Thu, 2010-04-08 at 22:45 +0200, Stephane Eranian wrote: >> >> There is a warn_on_once() check for PERF_SAMPLE_RAW which trips >> >> when using PEBS on both Core and Nehalem. Core PEBS sample size is >> >> 144 >> >> bytes and 176 bytes for Nehalem. Both are multiples of 8, but the >> >> size >> >> field is encoded as int, thus the total is never a multiple of 8 >> >> which >> >> trips the check. I think the size should have been u64, but now it >> >> is >> >> too late to change given it is ABI. >> > >> > PEBS hasn't seen -linus yet, so we can fix that. >> > >> Are you suggesting you add some padding the PEBS raw sample you >> return as PERF_SAMPLE_RAW? Then you need to define what RAW >> actually means? Seems here, it would mean more than what the >> HW returns. > > The best fix here is to simply remove the PERF_SAMPLE_RAW support and > implement PERF_SAMPLE_REGS. Its just that we need to come up with a way > to deal with compat pt_regs muck. > > But isn't RAW already part of the ABI?
It is true that you need to also provide the interrupted state (or part of it) to the user, i.e., beyond just the IP. But the interrupt state and PEBS state are distinct and should not be swapped. In fact, both may be useful at the same time to evaluate the skid. So yes, you need PERF_SAMPLE_REGS. But just like your proposal with the two IPs. I think you need to export two versions of REGS: IREGS and PREGS for instance. The issue is that PEBS does not record the whole state but only a very small subset. Then, on Nehalem, there is PEBS more where you collect more that just machine state, you collect cache miss information. That's not regs anymore. ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ perfmon2-devel mailing list perfmon2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/perfmon2-devel