On Fri, Jul 24, 2020 at 09:43:44AM -0400, Liang, Kan wrote:
> 
> 
> On 7/24/2020 7:46 AM, pet...@infradead.org wrote:
> > On Fri, Jul 24, 2020 at 12:55:43PM +0200, pet...@infradead.org wrote:
> > > > +       event_sched_out(event, cpuctx, ctx);
> > > > +       perf_event_set_state(event, PERF_EVENT_STATE_ERROR);
> > > > +}
> > > 
> > > Ah, so the problem here is that ERROR is actually recoverable using
> > > IOC_ENABLE. We don't want that either. Let me try and figure out of EXIT
> > > would work.
> > 
> > EXIT is difficult too.. Also, that COEXIST thing hurt my brian, can't we
> > do a simpler SIBLING thing that simply requires the event to be a group
> > sibling?
> > 
> > The consequence is that SLOTS must be the leader, is that really a
> > problem? You keep providing the {cycles, slots, metric-things} example,
> > but afaict {slots, metric-thing, cycles} should work just fine too.
> > PERF_SAMPLE_READ with PERF_FORMAT_GROUP doesn't need to the the leader.
> 
> I'm not sure I get your point.
> For the PERF_SAMPLE_READ with PERF_FORMAT_GROUP case, other events can be
> the leader, e.g., {cycles, slots, metric-things}:S.
> In this case, the SLOTS event is not a leader. I don't think we can assume
> that the SLOTS event must be the leader.

You can have a sibling event with SAMPLE_READ and FORMAT_GROUP just
fine. The sampling event doesn't need to be the leader.

Reply via email to