Re: [PATCH 2/9] perf: Deny optimized switch for events read by PERF_SAMPLE_READ

From: Peter Zijlstra
Date: Mon Sep 08 2014 - 06:11:45 EST


On Mon, Sep 08, 2014 at 12:00:19PM +0200, Jiri Olsa wrote:

> > no.. so the value of the counter is the sum of all the inherited events.
> > It doesn't matter if you flip it or not the sum is not affected.
> >
> > PERF_SAMPLE_READ should return the value.
>
> so I want to be able to do the leader sampling over child processes
> that means:
> - have event group with sampling leader, and the rest
> of the group events' periods being read on leader's sample
> via PERF_SAMPLE_READ sample_type
> - for each child process created I want it to do the
> same thing as the parent - sample on leader, read
> values of other events in group via PERF_SAMPLE_READ

The thing is, PERF_SAMPLE_READ should return the exact same thing as an
actual read(), and for read() the value reported is the sum of all
events.

I _think_ I know what you want, and I think I see why you'd want that,
but I'm not sure how to best do that.. Hmm.. maybe look at
'perf_event_attr::inherit_stat' that appears to be similar.

At which point read() vs inherit_stat might be 'broken'. Hard to know if
anybody uses that :-(

Attachment: pgpwQvSp8ezHE.pgp
Description: PGP signature