Re: [RFC][PATCH 1/3] perf: Tighten (and fix) the grouping condition

From: Peter Zijlstra
Date: Fri Jan 23 2015 - 10:07:37 EST


On Fri, Jan 23, 2015 at 03:02:12PM +0000, Mark Rutland wrote:
> On Fri, Jan 23, 2015 at 12:52:00PM +0000, Peter Zijlstra wrote:
> > The fix from 9fc81d87420d ("perf: Fix events installation during
> > moving group") was incomplete in that it failed to recognise that
> > creating a group with events for different CPUs is semantically
> > broken -- they cannot be co-scheduled.
> >
> > Furthermore, it leads to real breakage where, when we create an event
> > for CPU Y and then migrate it to form a group on CPU X, the code gets
> > confused where the counter is programmed -- triggered by the fuzzer.
> >
> > Fix this by tightening the rules for creating groups. Only allow
> > grouping of counters that can be co-scheduled in the same context.
> > This means for the same task and/or the same cpu.
>
> It seems this would still allow you to group CPU-affine software and
> uncore events, which also doesn't make sense: the software events will
> count on a single CPU while the uncore events aren't really CPU-affine.
>
> Which isn't anything against this patch, but probably something we
> should tighten up too.

Indeed, that would need a wee bit of extra infrastructure though; as we
cannot currently distinguish between regular cpuctx and uncore like
things.

Good spotting though.
--
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/