• O
    !225 Synchronize the coresight code of the Linux mainline to support HiSilicon tracing · fc4cda52
    openeuler-ci-bot 提交于
    Merge Pull Request from: @hejunhao3 
     
    
    ```
    Synchronize the coresight code of the Linux mainline to support HiSilicon tracing
    
    [Testing]
    kernel config
    CONFIG_CORESIGHT_LINK_AND_SINK_TMC=m
    CONFIG_CORESIGHT_TRBE=m
    
    [test log]
    insmod coresight.ko coresight-etm4x.ko coresight-funnel.ko coresight-tmc.ko
    estuary:/$ ls /sys/bus/coresight/devices/
    ete0      ete12     ete2      ete6      funnel0   tmc_etf0  tmc_etr0
    ete1      ete13     ete3      ete7      funnel1   tmc_etf1
    ete10     ete14     ete4      ete8      funnel2   tmc_etf2
    ete11     ete15     ete5      ete9      funnel3   tmc_etf3
    estuary:/$ echo 1 > /sys/bus/coresight/devices/tmc_etr0/enable_sink
    estuary:/$ echo 1 > /sys/bus/coresight/devices/ete3/enable_source
    estuary:/$ cat /sys/bus/coresight/devices/tmc_etr0/mgmt/rwp
    0x79100000
    estuary:/$ cat /sys/bus/coresight/devices/tmc_etr0/mgmt/rwp
    0x79106e00
    estuary:/$ echo 0 > /sys/bus/coresight/devices/ete3/enable_source
    estuary:/$ insmod /lib/modules/5.10.0+/ram_blk_drv.ko p_addr=0x79100000 p_size=0x3000
    estuary:/$ dd if=/dev/ramblock  of=sys_c1_range.data bs=4k count=48
    3+0 records in
    3+0 records out
    12288 bytes (12.0KB) copied, 0.028941 seconds, 414.6KB/s
    estuary:/$ ptm2human -e -i sys_c1_range.data >sys_c1_range.data.log 2>&1
    estuary:/$ grep sys_c1_range.data.log | "Decode trace stream of ID"
    [22;1HDecode trace stream of ID 21
    estuary:/$ 
    estuary:/$ perf record -e /cs_etm/@tmc_etr0/ -C 7 taskset -c 7 uname -a
    Linux (none) 5.10.0+ #3 SMP Thu Oct 27 14:51:05 CST 2022 aarch64 GNU/Linux
    [ 2900.563565][  T306] coresight tmc_etr0: timeout while waiting for completion of Manual Flush
    [ perf record: Woken up 1 times to write data ]
    [ perf record: Captured and wrote 0.588 MB perf.data ]
    estuary:/$ perf report --stdio -D > report.txt
    estuary:/$ grep -rn "I_ASYNC : Alignment Synchronisation" report.txt
    4244:	Idx:0; ID:1e;	I_ASYNC : Alignment Synchronisation.
    6913:	Idx:4429; ID:1e;	I_ASYNC : Alignment Synchronisation.
    9279:	Idx:8833; ID:1e;	I_ASYNC : Alignment Synchronisation.
    ```
     
     
    Link:https://gitee.com/openeuler/kernel/pulls/225 
    Reviewed-by: Zheng Zengkai <zhengzengkai@huawei.com> 
    Reviewed-by: Ling Mingqiang <lingmingqiang@huawei.com> 
    Reviewed-by: Xie XiuQi <xiexiuqi@huawei.com> 
    Signed-off-by: Zheng Zengkai <zhengzengkai@huawei.com> 
    fc4cda52
coresight-core.c 44.0 KB