Linaro / OpenCSD

CoreSight trace stream decoder developed openly
https://github.com/Linaro/opencsd/wiki
Other
141 stars 53 forks source link

exceptions happen when collect trace on target #1

Closed bobsense closed 7 years ago

bobsense commented 8 years ago

Thanks for your time! First, I only set one sink: etb.

-bash-4.3# ls /sys/bus/coresight/devices/ 44802000.funnel 44803000.etb 44c40000.etm replicator -bash-4.3# cat /sys/bus/coresight/devices/44803000.etb/enable_sink 1 -bash-4.3# uname -a Linux localhost 4.7.0-rc2 #3 SMP PREEMPT Thu Jul 14 16:44:16 CST 2016 aarch64 aarch64 aarch64 GNU/Linux

When I intend to record trace data from coresight, I get the exceptions as follows.

-bash-4.3# ./tools/perf/perf record -C 0 -e cs_etm/@sink=44803000.etb/ --per-thread uname Warning: SYSTEM/CPU switch overriding PER-THREAD Error: failed to set config "sink=44803000.etb" on event cs_etm/@sink=44803000.etb/ with 25 (Inappropriate ioctl for device)

bobsense commented 8 years ago

I greatly appreciate for your help!!

mathieupoirier commented 8 years ago

On 28 July 2016 at 03:14, bobsense notifications@github.com wrote:

First, I only set one sink: etb.

-bash-4.3# ls /sys/bus/coresight/devices/

44802000.funnel 44803000.etb 44c40000.etm replicator

-bash-4.3# cat /sys/bus/coresight/devices/44803000.etb/enable_sink

1

-bash-4.3# uname -a

Linux localhost 4.7.0-rc2 #3 SMP PREEMPT Thu Jul 14 16:44:16 CST 2016 aarch64 aa rch64 aarch64 GNU/Linux

When I intend to record trace data from coresight, I get the exceptions as follows.

-bash-4.3# ./tools/perf/perf record -C 0 -e cs_etm/@sink https://github.com/sink=44803000.etb/ --per-thr ead uname

Warning:

SYSTEM/CPU switch overriding PER-THREAD Error: failed to set config "sink=44803 000.etb" on event cs_etm/@sink https://github.com/sink=44803000.etb/ with 25 (Inappropriate ioctl for de vice)

I'm not sure option "-C 0" and "--per-thread" are compatible with one another - their semantic is opposite. But from the error message it seem like the ioctl isn't happy with the sink parameter. Either it doesn't recognise the ioctl code or the PMU's ->set_driver_cfg() function failed.

Since things work on my side you will have to instrument the kernel to see which of the above two problem we are dealing with.

Thanks, Mathieu

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Linaro/OpenCSD/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/AAi322EPTvxe5YjB2WniSPOJowhfvEiYks5qaHLfgaJpZM4JXAwx .

mathieupoirier commented 8 years ago

On 28 July 2016 at 03:14, bobsense notifications@github.com wrote:

First, I only set one sink: etb.

-bash-4.3# ls /sys/bus/coresight/devices/

44802000.funnel 44803000.etb 44c40000.etm replicator

-bash-4.3# cat /sys/bus/coresight/devices/44803000.etb/enable_sink

1

-bash-4.3# uname -a

Linux localhost 4.7.0-rc2 #3 SMP PREEMPT Thu Jul 14 16:44:16 CST 2016 aarch64 aa rch64 aarch64 GNU/Linux

When I intend to record trace data from coresight, I get the exceptions as follows.

-bash-4.3# ./tools/perf/perf record -C 0 -e cs_etm/@sink https://github.com/sink=44803000.etb/ --per-thr ead uname

Warning:

SYSTEM/CPU switch overriding PER-THREAD Error: failed to set config "sink=44803 000.etb" on event cs_etm/@sink https://github.com/sink=44803000.etb/ with 25 (Inappropriate ioctl for de vice)

Furthermore, what kind of ETM is on that system? At this point only ETMv4 supports the perf interface. If you have an ETMv3/PTM, perf won't work.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/Linaro/OpenCSD/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/AAi322EPTvxe5YjB2WniSPOJowhfvEiYks5qaHLfgaJpZM4JXAwx .

mikel-armbb commented 7 years ago

Closing issue - related to perf support which is now in separate repository. Plus, no movement since Feb so likely issue resolved.