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

From: Andi Kleen
Date: Fri Jul 25 2014 - 12:40:49 EST


> 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?

-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
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/