Re: [RESEND PATCH 1/1] perf arm-spe: report all SPE records as "all" events

From: Leo Yan
Date: Thu Nov 25 2021 - 07:54:51 EST


On Thu, Nov 25, 2021 at 11:54:16AM +0000, German Gomez wrote:
> Hi Leo,
>
> On 25/11/2021 07:53, Leo Yan wrote:
> > On Wed, Nov 17, 2021 at 02:28:32PM +0000, German Gomez wrote:
> >> [...]
> > After checked the event types, I think "other" samples would include
> > below raw event types:
> >
> > EV_EXCEPTION_GEN
> > EV_RETIRED
> > EV_NOT_TAKEN
> > EV_ALIGNMENT
> > EV_PARTIAL_PREDICATE
> > EV_EMPTY_PREDICATE
> >
> > I am just wander if we can use sample.transaction to store these event
> > types, otherwise, we cannot distinguish the event type for the samples.
>
> I'm not familiar with the meaning of transactions in this context, but
> I agree giving visibility of these remaining events is a good idea. I'm
> just unsure where to place them from the available --itrace options.

Please take a look in my another reply, I think it's good to consider
to use event type + sample fields (flags/data_src/transactions) for
better expressing samples.

> Regarding the "all" events, we thought having quick access to a  global
> histogram of all the spe events is useful, and from all the --itrace
> options it seemed to fit best under --itrace=o.

Okay, I agree this is a distinct requirement and we can use this way
to generate for all SPE records. But the question is if a user reviews
"all" events, how user can easily understand the samples if only bases
on fields sample::addr, e.g. we will have no idea if a sample is a
memory operation or a branch operation, and I think the samples for
memory operations will always set sample.addr as 0.

Thanks,
Leo