mirror of
https://github.com/torvalds/linux.git
synced 2026-01-12 00:42:35 +08:00
perf cs-etm: Use new OpenCSD consistency checks
Previously when the incorrect binary was used for decode, Perf would silently continue to generate incorrect samples. With OpenCSD 1.5.4 we can enable consistency checks that do a best effort to detect a mismatch in the image. When one is detected a warning is printed and sample generation stops until the trace resynchronizes with a good part of the image. Reported-by: Ganapatrao Kulkarni <gankulkarni@os.amperecomputing.com> Closes: https://lore.kernel.org/all/20240719092619.274730-1-gankulkarni@os.amperecomputing.com/ Reviewed-by: Leo Yan <leo.yan@arm.com> Signed-off-by: James Clark <james.clark@linaro.org> Tested-by: Ganapatrao Kulkarni <gankulkarni@os.amperecomputing.com> Cc: Ben Gainey <ben.gainey@arm.com> Cc: Suzuki K Poulose <suzuki.poulose@arm.com> Cc: Will Deacon <will@kernel.org> Cc: Mathieu Poirier <mathieu.poirier@linaro.org> Cc: Mike Leach <mike.leach@linaro.org> Cc: Ruidong Tian <tianruidong@linux.alibaba.com> Cc: Leo Yan <leo.yan@linux.dev> Cc: Benjamin Gray <bgray@linux.ibm.com> Cc: linux-arm-kernel@lists.infradead.org Cc: coresight@lists.linaro.org Cc: John Garry <john.g.garry@oracle.com> Cc: scclevenger@os.amperecomputing.com Link: https://lore.kernel.org/r/20240916135743.1490403-3-james.clark@linaro.org Signed-off-by: Namhyung Kim <namhyung@kernel.org>
This commit is contained in:
committed by
Namhyung Kim
parent
5afd032961
commit
ba5ae78a5a
@@ -685,9 +685,14 @@ cs_etm_decoder__create_etm_decoder(struct cs_etm_decoder_params *d_params,
|
||||
}
|
||||
|
||||
if (d_params->operation == CS_ETM_OPERATION_DECODE) {
|
||||
int decode_flags = OCSD_CREATE_FLG_FULL_DECODER;
|
||||
#ifdef OCSD_OPFLG_N_UNCOND_DIR_BR_CHK
|
||||
decode_flags |= OCSD_OPFLG_N_UNCOND_DIR_BR_CHK | OCSD_OPFLG_CHK_RANGE_CONTINUE |
|
||||
ETM4_OPFLG_PKTDEC_AA64_OPCODE_CHK;
|
||||
#endif
|
||||
if (ocsd_dt_create_decoder(decoder->dcd_tree,
|
||||
decoder->decoder_name,
|
||||
OCSD_CREATE_FLG_FULL_DECODER,
|
||||
decode_flags,
|
||||
trace_config, &csid))
|
||||
return -1;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user