[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