From: James Clark <james.clark@linaro.org>
To: Leo Yan <leo.yan@arm.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Arnaldo Carvalho de Melo <acme@kernel.org>,
Namhyung Kim <namhyung@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>,
Adrian Hunter <adrian.hunter@intel.com>,
"Liang, Kan" <kan.liang@linux.intel.com>,
Suzuki K Poulose <suzuki.poulose@arm.com>,
Mike Leach <mike.leach@linaro.org>,
John Garry <john.g.garry@oracle.com>,
Will Deacon <will@kernel.org>, Leo Yan <leo.yan@linux.dev>,
Ben Gainey <ben.gainey@arm.com>,
Ruidong Tian <tianruidong@linux.alibaba.com>,
Benjamin Gray <bgray@linux.ibm.com>,
Mathieu Poirier <mathieu.poirier@linaro.org>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-perf-users@vger.kernel.org,
gankulkarni@os.amperecomputing.com, coresight@lists.linaro.org,
scclevenger@os.amperecomputing.com
Subject: Re: [PATCH v2 2/7] perf cs-etm: Use new OpenCSD consistency checks
Date: Fri, 13 Sep 2024 13:09:06 +0100 [thread overview]
Message-ID: <332e0654-df8c-44b1-8e55-398aeba37b08@linaro.org> (raw)
In-Reply-To: <cfad80e4-3ee8-4a55-9dee-41d0d0256c04@arm.com>
On 13/09/2024 12:54, Leo Yan wrote:
> On 9/12/24 16:11, James Clark wrote:>
>>
>> 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/
>> Signed-off-by: James Clark <james.clark@linaro.org>
>> ---
>> tools/perf/util/cs-etm-decoder/cs-etm-decoder.c | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>> b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>> index b78ef0262135..b85a8837bddc 100644
>> --- a/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>> +++ b/tools/perf/util/cs-etm-decoder/cs-etm-decoder.c
>> @@ -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
>
> Looks good to me.
>
> Just one question: should the flag ETM4_OPFLG_PKTDEC_AA64_OPCODE_CHK be set
> according to ETM version? E.g. it should be only set for ETMv4 or this is
> fine for ETE as well.
>
> Thanks,
> Leo
>
I asked Mike the same question about ETMv3 and he said none of the flags
overlap and it was ok to always pass them. So I assume the same applies
to ETE as well.
next prev parent reply other threads:[~2024-09-13 12:08 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-12 15:11 [PATCH v2 0/7] perf: cs-etm: Coresight decode and disassembly improvements James Clark
2024-09-12 15:11 ` [PATCH v2 1/7] perf cs-etm: Don't flush when packet_queue fills up James Clark
2024-09-13 11:17 ` Leo Yan
2024-09-12 15:11 ` [PATCH v2 2/7] perf cs-etm: Use new OpenCSD consistency checks James Clark
2024-09-13 11:54 ` Leo Yan
2024-09-13 12:09 ` James Clark [this message]
2024-09-13 13:03 ` Leo Yan
2024-09-12 15:11 ` [PATCH v2 3/7] perf scripting python: Add function to get a config value James Clark
2024-09-13 13:40 ` Leo Yan
2024-09-12 15:11 ` [PATCH v2 4/7] perf scripts python cs-etm: Update to use argparse James Clark
2024-09-13 12:44 ` Leo Yan
2024-09-12 15:11 ` [PATCH v2 5/7] perf scripts python cs-etm: Improve arguments James Clark
2024-09-13 13:01 ` Leo Yan
2024-09-12 15:11 ` [PATCH v2 6/7] perf scripts python cs-etm: Add start and stop arguments James Clark
2024-09-13 13:20 ` Leo Yan
2024-09-16 10:41 ` James Clark
2024-09-12 15:11 ` [PATCH v2 7/7] perf test: cs-etm: Test Coresight disassembly script James Clark
2024-09-13 13:35 ` Leo Yan
2024-09-16 13:25 ` James Clark
2024-09-12 19:23 ` [PATCH v2 0/7] perf: cs-etm: Coresight decode and disassembly improvements Arnaldo Carvalho de Melo
2024-09-17 8:15 ` James Clark
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=332e0654-df8c-44b1-8e55-398aeba37b08@linaro.org \
--to=james.clark@linaro.org \
--cc=acme@kernel.org \
--cc=adrian.hunter@intel.com \
--cc=alexander.shishkin@linux.intel.com \
--cc=ben.gainey@arm.com \
--cc=bgray@linux.ibm.com \
--cc=coresight@lists.linaro.org \
--cc=gankulkarni@os.amperecomputing.com \
--cc=irogers@google.com \
--cc=john.g.garry@oracle.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=leo.yan@arm.com \
--cc=leo.yan@linux.dev \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mathieu.poirier@linaro.org \
--cc=mike.leach@linaro.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=scclevenger@os.amperecomputing.com \
--cc=suzuki.poulose@arm.com \
--cc=tianruidong@linux.alibaba.com \
--cc=will@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).