Hi All,
Linux h/w trace decoding is working as expected but user-space trace decoding not showing sybmols (dump raw trace shows h/w trace info) of user-space application/libraries.
Here is how I am using:
1) Kernel trace => perf record -C 1 -e cs_etm/@tmc_etr1/k taskset 0x2 uname
=> tar czf cs_example.tgz perf.data .debug
Transfer cs_example.tgz on x86 machine, untar, copy .debug in ~/ (home) => perf report --vmlinux=./vmlinux
# Samples: 937 of event 'branches:k' # Event count (approx.): 937 # # Children Self Command Shared Object Symbol # ........ ........ ....... ................. .............................................. # 15.58% 15.58% swapper [kernel.kallsyms] [k] __delay 8.54% 8.54% swapper [kernel.kallsyms] [k] arch_counter_get_cntpct 3.31% 3.31% swapper [kernel.kallsyms] [k] event_sched_in.isra.37 2.67% 2.67% swapper [kernel.kallsyms] [k] group_sched_in 2.56% 2.56% swapper [kernel.kallsyms] [k] do_idle 2.35% 2.35% swapper [kernel.kallsyms] [k] perf_event_update_userpage 2.24% 2.24% swapper [kernel.kallsyms] [k] clocks_calc_mult_shift
2) User-space trace
=> perf record -C 1 -e cs_etm/@tmc_etr1/u taskset 0x2 uname
=> tar czf cs_example.tgz perf.data .debug
Transfer cs_example.tgz on x86 machine, untar, copy .debug in ~/ (home) => perf report Error: The perf.data data has no samples! # To display the perf.data header info, please use --header/--header-only options. # But if dump raw trace then I can see ISYNC/ATOM packets
=> perf report --dump . ... CoreSight ETM Trace data: size 25960 bytes Idx:24; ID:12; I_ASYNC : Alignment Synchronisation. Idx:36; ID:12; I_TRACE_INFO : Trace Info.; INFO=0x0 Idx:39; ID:12; I_TRACE_ON : Trace On. Idx:40; ID:12; I_CTXT : Context Packet.; Ctxt: AArch64,EL2, NS; CID=0x00000000; Idx:46; ID:12; I_TRACE_ON : Trace On. Idx:47; ID:12; I_CTXT : Context Packet.; Ctxt: AArch64,EL0, NS; CID=0x00000000; Idx:53; ID:12; I_ADDR_L_64IS0 : Address, Long, 64 bit, IS0.; Addr=0x0000FFFF801CCF7C; Idx:62; ID:12; I_ATOM_F1 : Atom format 1.; N Idx:63; ID:12; I_TIMESTAMP : Timestamp.; Updated val = 0xede4824ce5 . . .
Any idea what I am missing.
Thanks -Bharat