Re: [PATCH] perf_events: fix bogus warn_on(_once) in perf_prepare_sample()

From: Peter Zijlstra
Date: Thu Apr 08 2010 - 17:15:53 EST


On Thu, 2010-04-08 at 23:08 +0200, Stephane Eranian wrote:
> On Thu, Apr 8, 2010 at 10:55 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> 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.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/