Good day Joey,

I can spot several problems with your manipulations - please see below.  I also suggest to CC the coresight mailing list when looking for support.

On Tue, 10 Dec 2019 at 00:44, Joey Jiao <notifications@github.com> wrote:

Hi,
I have a arm64 device,

perf list pmu

List of pre-defined events (to be used in -e):
cs_etm// [Kernel PMU event]

However I cannot run perf record -e cs_etm successfully.

can you help?

ls /sys/bus/coresight/devices/|grep coresight-etm

coresight-etm0
coresight-etm1
coresight-etm2
coresight-etm3
coresight-etm4
coresight-etm5
coresight-etm6
coresight-etm7


We will need a full list of all the CS devices on your system.  Just listing the ETMs is not sufficient.
 

#2 ls -l /sys/bus/coresight/devices/coresight-etm0
lrwxrwxrwx. 1 root root 0 Dec 7 16:58 /sys/bus/coresight/devices/coresight-etm0 -> ../../../devices/platform/soc/7040000.etm/coresight-etm0

perf record -e cs_etm ls

event syntax error: 'cs_etm'
___ parser error
Run 'perf list' for a list of valid events

Usage: perf record [] []
or: perf record [] -- []

-e, --event <event>   event selector. use 'perf list' to list available events

Yes, that is the expected behavior.  On systems with a 1:N topology a sink needs to be specified.  System with 1:1 topologies aren't supported, hence the request to see all the CS devices on your system (above).
 

perf record -e cs_etm/7040000.etm/ ls

event syntax error: 'cs_etm/7040000.etm/'
___ parser error
Run 'perf list' for a list of valid events

Usage: perf record [] []
or: perf record [] -- []

-e, --event <event>   event selector. use 'perf list' to list available events

Also incorrect.  First the sink needs to be preceded by '@' and actually be a sink - here you have specified a source.  Before going further I advise you to spend some time in the documentation [1].

Thanks,
Mathieu

[1]. https://elixir.bootlin.com/linux/v5.5-rc1/source/Documentation/trace/coresight/coresight.rst
 

perf record -e cs_etm/@7040000.etm/ ls

failed to set config "7040000.etm" on event cs_etm/@7040000.etm/ with 2 (No such file or directory)

I can cat /dev/coresight-tmc-etr > dump.bin after enabled ETM, but perf doesn't work as above stated.

Thanks

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.