HQX System Performance Troubleshooting Overview

Ensure your gvm config contain below ftrace configs:

#导出config配置
adb root
adb shell proc/config.gz

#确认下列ftrace config是否开启,如果没有开启在代码中进行配置
CONFIG_TASKS_TRACE_RCU=y
CONFIG_TRACEPOINTS=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
CONFIG_HAVE_ARCH_TRACEHOOK=y
CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y
CONFIG_DMA_FENCE_TRACE =y
CONFIG_STACKTRACE=y
CONFIG_RCU_TRACE=y
CONFIG_NOP_TRACER=y
CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
CONFIG_CONTEXT_SWITCH_TRACER=y
CONFIG_FTRACE=y
CONFIG_FUNCTION_TRACER =y
CONFIG_STACK_TRACER =y
CONFIG_IRQSOFF_TRACER =y
CONFIG_PREEMPT_TRACER =y
CONFIG_SCHED_TRACER =y
CONFIG_ENABLE_DEFAULT_TRACERS =y
CONFIG_FTRACE_SYSCALLS =y
CONFIG_BLK_DEV_IO_TRACE =y
CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
CONFIG_DYNAMIC_FTRACE=y

设置ftrace event

adb root 
adb wait-for-device 
adb remount 
adb shell "echo 0 > /sys/kernel/debug/tracing/tracing_on" 
adb shell "echo > /sys/kernel/debug/tracing/trace" 
adb shell "echo 51200 > /sys/kernel/debug/tracing/buffer_size_kb" (enlarge ftrace buffer accordingly)
adb shell "echo thermal:* > /sys/kernel/debug/tracing/set_event" 
adb shell "echo msm_low_power:* > /sys/kernel/debug/tracing/set_event" 
adb shell "echo sched:sched_migrate_task > /sys/kernel/debug/tracing/set_event" 
adb shell "echo sched:sched_switch > /sys/kernel/debug/tracing/set_event" 
adb shell "echo sched:sched_wakeup > /sys/kernel/debug/tracing/set_event" 
adb shell "echo sched:sched_cpu_load > /sys/kernel/debug/tracing/set_event" 
adb shell "echo core_ctl_eval_need > /sys/kernel/debug/tracing/set_event" 
adb shell "echo cpufreq_interactive:* > /d/tracing/set_event" 
adb shell "echo kgsl:* > /d/tracing/set_event" 
adb shell "echo mdss:* > /d/tracing/set_event" 
adb shell "echo irq:* > /sys/kernel/debug/tracing/set_event" 
adb shell "cat /sys/kernel/debug/tracing/set_event" 

使用systrace抓trace

#抓取android qvm 侧trace
systrace: python systrace.py –b 96000(buffer size ,accordingly) –t 5 --no-compress -o output.html  
#抓取 qnx 侧trace
tracelogger: tracelogger –s 5 (tracebuffer.kev at /dev/shmem/

获取clock

# Reading CPU clocks
clock.sh info apcs_gold_sysleaf_clk
# Reading GFX core clock
clock.sh info gpu_cc_gx_gfx3d_clk
# Reading DDR clock
clock.sh info ddr_clk
# Reading NPU core clock
clock.sh info npu_cc_npu_core_clk
# Dumping all clocks (if supported on the platform, CPU intensive, use with care)
clock.sh info

固定ddr 频率

Change DDR frequency
In the current software design, all internal buses and DDR are set to run at their 
maximum supported frequencies. Users can change the DDR frequencies by sending a 
JSON formatted string to /dev/pil_service. For example, to set the DDR to 1300 MHz, 
run the command:
echo "{class: ddr, res: fixed, val: 1300}" > /dev/pil_service
In future the capability to set DDR frequencies would be exposed via DPLMP interface

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值