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.