Re: [PATCH v3 6/9] perf, x86: handle multiple records in PEBS buffer

From: Peter Zijlstra
Date: Mon Jul 28 2014 - 02:54:35 EST


On Fri, Jul 25, 2014 at 06:40:41PM +0200, Andi Kleen wrote:
> > Suppose two pebs events, one has exclude_kernel set. It overflows,
> > before entering the kernel, the other event generates PEBS records from
> > inside the kernel with both events marked in the overflow field.
> >
> > And only once we leave the kernel can the exclude_kernel event tick
> > again and trigger the assist, finalyl clearing the bit.
> >
> > If you were to report the records to both events, one would get a lot of
> > kernel info he was not entitled to.
>
> Ok that case can be filtered in software. Shouldn't be too difficult.
> Perhaps just using ip
>
> if (event->attr.exclude_kernel && pebs->ip >= __PAGE_OFFSET)
> skip;
> if (event->attr.exclude_user && pebs->ip < __PAGE_OFFSET)
> skip;
>
> This would also help with the existing skid.
>
> Any other concerns?

Yeah, why fuck about and do ugly hacks when you can actually do it
right? That way you're sure you've not forgotten anything.

Attachment: pgpw9PCImgrG6.pgp
Description: PGP signature