Messages in this thread |  | | Subject | Re: [PATCH v2 00/10] coresight: TRBE and Self-Hosted trace fixes | From | Suzuki K Poulose <> | Date | Fri, 23 Jul 2021 14:45:44 +0100 |
| |
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
|  |