On 12/12/2024 7:27 AM, James Clark wrote:
On 11/12/2024 6:01 pm, Steve Clevenger wrote:
Hi James,
I thought I'd mention this issue with multicore self-hosted trace. The
perf command line syntax does not allow a sink "type" to be specified
(e.g. @tmc_etf or @tmc_etr). For multicore, it doesn't make sense to
specify a processor mapped sink as would be the case for single core
trace. A sink "type" should be allowed to avoid the auto select default.
In our case, the default is the ETF sink.
Thanks,
Steve C.
I'm sure it would be possible to add support for this, but I'm wondering
if the real issue is that the default selection logic is wrong? Are you
saying the default you get is ETF but you want ETR? And there is both
for each ETM? The default selection logic isn't easy to summarize but it
should prefer ETR (sysmem) over ETF (link sink), see coresight_find_sink().
It's probably better to fix that rather than add a new sink selection
feature. Maybe if you shared a diagram of your coresight architecture it
would help.
Thanks
James
Hi James,
It appears the default sink selection is ETF for multicore trace. In any
case, for the Arm® CoreSight Base System Architecture STC Level
compliance, I need to be able to specify the sink type.
The Ampere CoreSight hierarchy is described to the ACPI as follows:
+-----------------+
| |
| ETM |
| |
+--------+--------+
|
|
+--------+--------+
| |
| ETF |
| |
+--------+--------+
|
|
+--------+--------+
| |
| ETR |
| |
+--------+--------+
|
|
+--------+--------+
| |
| CATU |
| |
+--------+--------+
Steve C.