Re: Why is PERF_FORMAT_GROUP incompatible with inherited events?

From: Paul Mackerras
Date: Sun Feb 14 2010 - 23:56:56 EST


On Sun, Feb 14, 2010 at 01:38:27PM +0100, Peter Zijlstra wrote:
> On Sun, 2010-02-14 at 22:33 +1100, Paul Mackerras wrote:
> >
> > But we don't go and collect the count delta from children without
> > PERF_FORMAT_GROUP, so why would we with it?
>
> Yes we do, see perf_event_read_value().

Ah, true, I should have read the code more carefully.

> But now that I look at it we don't seem to do so in
> perf_output_read_one()... I guess we should fix that.

I suppose it should give the same value as read() would, but the
possibly unbounded interrupt latency is a bit of a worry. I can't
think of a way to avoid it, though (other than not using
PERF_SAMPLE_READ with inherited sampling events :).

> There is of course the lock inversion in the .read() code reported by
> stephane, but other than that is seems to actually support inherited &&
> group just fine.
>
> So I think if we fix that lock inversion and make the PERF_SAMPLE_READ
> code look like the .read() code it should all work out.

Cool.

Paul.
--
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/