summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorLeo Yan <leo.yan@arm.com>2026-10-02 12:15:13 +0100
committerArnaldo Carvalho de Melo <acme@redhat.com>2026-10-21 16:14:59 -0300
commite4c26138ececd62aefac4f4b7f5bcc5c01a06ccd (patch)
tree6c5d500c495affb44a644e0a4348b2cb903feffb /scripts/Makefile.thinlto
parent18eaa04d945cbdf540f945e260135cd1788f6812 (diff)
downloadlinux-e4c26138ececd62aefac4f4b7f5bcc5c01a06ccd.tar.gz
linux-e4c26138ececd62aefac4f4b7f5bcc5c01a06ccd.zip
perf cs-etm: Synthesize missing HW_ID mappings for raw trace
The CoreSight driver emits PERF_RECORD_AUX_OUTPUT_HW_ID via perf_report_aux_output_id(). If the perf ring buffer is full, perf_report_aux_output_id() can fail to emit the record and return silently. When at least one HW_ID record is present in the file, perf skips the legacy metadata-only trace ID mapping path. Therefore any raw AUX queue whose HW_ID record was dropped can be left with an empty traceid_list, and cs_etm__create_queue_decoders() will not create a decoder for that queue. Fix it by ignoring all HW_IDs for unformatted queues and always create one decoder per queue unconditionally. Trace ID is unused so we can hard code it to 1 (0 is a special value used in 'pending_timestamp_chan_id' to indicate not pending). We also need put the same trace ID in the CPU metadata because the relationship between CPU metadata and traceid_list is bidirectional. Moving cs_etm__metadata_set_trace_id() into the mapping function solves this and simplifies existing code. cs_etm__insert_trace_id_node() now does two things, so rename it to a more generic cs_etm__map_trace_id(). Signed-off-by: Leo Yan <leo.yan@arm.com> Signed-off-by: James Clark <james.clark@linaro.org> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions