> On 30/03/2021 09:18, liuqi (BA) wrote:
> > Hi Mathieu & Suzuki,
> >
> > Here is a question about the amount of data traced by ETM device.
> >
> > In high-CPU-utilization scene, volume of ETM trace data may be very
> > large, but limited buffer in sink device which is used to store trace
> > data can not hold all of these data. It seems that data loss in sink
> > device is inevitable.
> > > So how could we ensure the data we are interested in isn't lost, or
> > > what
> > we can do to reduce this kind of data loss?
>
> It depends on what configuration you have. On legacy coresight sinks (read
> TMC-ETR), without an overflow interrupt we can't do much, except for
> increasing the buffer size allocated for the trace collection.
> For perf you could use,
>
> perf record -m ,<memory-for-AUX-buf> -e ...
>
> Also, it is not clear what "data is of interest". There is strobbing support for ETM
> from Mike, which is under review. You may use it to avoid the continuous
> collection of trace and use a periodic collection and thus avoiding the overflows.
> Again, that may not guarantee you have the data of interest captured.
You could also look at address filters, there are two kinds:
An address range filter will capture trace within a given range, i.e. only code
between the lower and higher address will be traced.
A start/stop filter will start or stop the trace when an address is reached -
for example you could stop the trace when you hit a kernel error handler.
More details here:
https://github.com/Linaro/OpenCSD/blob/master/HOWTO.mdAl
>
> The solution would be to wire up the cross triggers to trigger a sink stop upon
> the even of interest. This doesn't exist today. But it could be built on top of the
> CTI and the complex configuration series.
>
> Kind regards
> Suzuki
>
> >
> > Any response will be highly appreciated.
> >
> > Thanks,
> > Qi
> >
>
> _______________________________________________
> CoreSight mailing list
>
CoreSight@lists.linaro.org>
https://lists.linaro.org/mailman/listinfo/coresight