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.