[PATCH 08/19] coresight: trbe: Use PERF_AUX_FLAG_PARTIAL instead of PERF_AUX_FLAG_COLLISION
Leo Yan
leo.yan at arm.com
Wed Dec 10 08:19:58 PST 2025
On Tue, Dec 09, 2025 at 01:40:35PM +0000, James Clark wrote:
[...]
> > > if (!is_trbe_running(trbsr))
> > > - perf_aux_output_flag(handle, PERF_AUX_FLAG_COLLISION);
> > > + perf_aux_output_flag(handle, PERF_AUX_FLAG_PARTIAL);
> >
> > This is interesting. So there is a no possibility for the records to be
> > overridden in the perf ring buffer and incomplete record is all that can
> > happen when TRBE is stopped, without stopping the ETE first ? Could both
> > of these scenarios might be possible as well ?
> >
>
> There's no chance of overwriting because that would be the TRUNCATED case
> and the event would get disabled. PARTIAL seems to be when there was an
> error that's recoverable in the driver only, but as in my other comment I
> don't think the extra complexity is necessary and always using TRUNCATED
> would be enough.
If I extend a bit, I would say that the TRUNCATED flag is used to prevent
buffer overwrites, while the other flags indicate why a record is
incomplete.
Thanks,
Leo
More information about the linux-arm-kernel
mailing list