Hi James,
On 16-09-2024 07:27 pm, James Clark wrote:
> A set of changes that came out of the issues reported here [1].
>
> * First 2 patches fix a decode bug in Perf and add support for new
> consistency checks in OpenCSD
> * The remaining ones make the disassembly script easier to test
> and use. This also involves adding a new Python binding to
> Perf to get a config value (perf_config_get())
>
> [1]: https://lore.kernel.org/linux-arm-kernel/20240719092619.274730-1-gankulkarni@os.amperecomputing.com/
>
Tried this series with below commands and issue is not seen as reported
in [1].
record:
timeout 8s ./perf record -e cs_etm// -C 1 -o kcore --kcore dd
if=/dev/zero of=/dev/null
decode:
./perf script -i ./kcore -s scripts/python/arm-cs-trace-disasm.py -- -d
objdump -k kcore/kcore_dir/kcore
./perf script -i ./kcore -s scripts/python/arm-cs-trace-disasm.py -F
cpu,event,ip,addr,sym -- -d objdump -k kcore/kcore_dir/kcore
Feel free to add for 1/7 and 2/7.
Tested-by: Ganapatrao Kulkarni <gankulkarni@os.amperecomputing.com>
> Changes since V2:
> * Check validity of start stop arguments
> * Make test work if Perf was installed
> * Document that start and stop time are monotonic clock values
>
> Changes since V1:
> * Keep the flush function for discontinuities
> * Still remove the flush when the buffer fills, but now add
> cs_etm__end_block() for the end trace. That way we won't drop
> the last branch stack if the instruction sample period wasn't
> hit at the very end.
>
> James Clark (7):
> perf cs-etm: Don't flush when packet_queue fills up
> perf cs-etm: Use new OpenCSD consistency checks
> perf scripting python: Add function to get a config value
> perf scripts python cs-etm: Update to use argparse
> perf scripts python cs-etm: Improve arguments
> perf scripts python cs-etm: Add start and stop arguments
> perf test: cs-etm: Test Coresight disassembly script
>
> .../perf/Documentation/perf-script-python.txt | 2 +-
> .../scripts/python/Perf-Trace-Util/Context.c | 11 ++
> .../scripts/python/arm-cs-trace-disasm.py | 127 ++++++++++++++----
> .../tests/shell/test_arm_coresight_disasm.sh | 65 +++++++++
> tools/perf/util/config.c | 22 +++
> tools/perf/util/config.h | 1 +
> .../perf/util/cs-etm-decoder/cs-etm-decoder.c | 7 +-
> tools/perf/util/cs-etm.c | 25 +++-
> 8 files changed, 225 insertions(+), 35 deletions(-)
> create mode 100755 tools/perf/tests/shell/test_arm_coresight_disasm.sh
>
--
Thanks,
Ganapat/GK