[PATCH v2 00/10] coresight: TRBE and Self-Hosted trace fixes

Suzuki K Poulose suzuki.poulose at arm.com
Fri Jul 23 06:45:44 PDT 2021


On 23/07/2021 13:46, Suzuki K Poulose wrote:
> This series fixes the following issues with the TRBE and Self-Hosted
> trace for CoreSight.
> 
> The Self-hosted trace filter control registers are now save-restored
> across CPU PM event. And more importantly the Trace Filtering is now
> used to control per ETM session (rather than allowing the trace
> throughout the life time of the system). i.e, ETM configuration of
> the given run is used to enforce trace filtering (TRFCR) along with the
> Trace Exclusion controls in TRCVICTLR.
> 
> For the TRBE, we were using the TRUNCATED flag in the AUX buffer on
> every IRQ to indicate that we may have lost a few bytes of trace. But
> this causes the event to be disabled until the userspace re-enables
> it back, even when there is space left in the ring buffer. To make
> things worse, we were restarting the AUX handle, which would soon
> be disabled, potentially creating 0 sized records (without truncation),
> which the perf tool tends to ignore. This might cause the event to be
> disabled permanently. Also, sometimes we leave the buffer TRUNCATED,
> but delay the closing of the handle to event schedule out, which could
> cause significant black out in the trace capture. This was reported
> by Tamas Zsoldos.
> 
> This series removes the use of TRUNCATED flag for every IRQ. Instead,
> it is only used if we really run out of space in the buffer. And also
> we make sure the "handle" is closed immediately on TRUNCATED case,
> which triggers the userspace to take action. The core perf layer has
> been hardened to handle this case where a "handle" is closed out.
> Finally, we make sure that the CPU trace is prohibited, when the TRBE
> is left disabled. The ETE/ETM driver will program the Trace Filtering
> appropriately since we do this dynamically now with the first half
> of the series.
> 
> 

The series is also available here :

https://git.gitlab.arm.com/linux-arm/linux-skp.git 
coresight/trbe-self-hosted-fixes/v2

Suzuki



More information about the linux-arm-kernel mailing list