MI VDF DEBUG SOP¶
REVISION HISTORY¶
| Revision No. | Description |
Date |
|---|---|---|
| 1.00 | 01/18/2024 |
前言¶
本文档主要是指导在使用VDF功能时的一些常见的问题排查方法。
1. 问题¶
1.1 效果不符合预期¶
STEP1 确认参数是否正常
-
对照vdf api doc的参数解析,确认下给算法的参数是否正常。
-
输入以下命令,抓取proc信息交予vdf owner分析。
cat /proc/mi_modules/mi_vdf/mi_vdf0
1.2 踩内存¶
当出现vdf踩内存时,一般会在串口输出如下类似的log:
[MI WRN] MI_SYS_Mma_MmuCallback [mi_sys][365]: [MI_SYS_Mma_MmuCallback] Status=0x4, PhyAddr=0x41220000, ClientId=0x72, IsWrite=1
STEP1 输入以下命令抓取信息
-
修改/config/modparam.json中debugMmu字段为1, 开启debug mmu功能。
-
输入以下命令, 抓取kmsg信息交予vdf owner分析。
echo 4 > /proc/mi_modules/mi_vdf/debug_levelecho debug_mmu debug_log 1 1 1 1 > /proc/mi_modules/mi_sys/mi_sys0cat /proc/kmsg
1.3 vdf卡死¶
vdf卡死时,一般会在串口中刷如下的大量log:
## input:
[MI WRN ]: _MI_SYS_Pass_Try_DequeueInputTaskNoLock[3394]: [thread:vdf0_P0_MAIN] mod[1] dev[0] pass[0] chn[0] inputtask CheckInputTaskStatus failed more than 2010ms,total pending task0
## output:
[MI WRN ]: _MI_SYS_Pass_TryDequeueOutputTaskNoLock[6154]: [thread:vdf0_P0_MAIN] mod[1] dev[0] pass[0] chn[0] output not finished more than 5000ms
STEP1 确认ive是否卡死
- 根据ive模块的debug sop, 确认ive是否卡死。
STEP2 输入以下命令抓取信息
-
输入以下命令,抓取proc信息(至少抓三次)交予vdf owner分析。
cat /proc/mi_modules/mi_vdf/mi_vdf02. 输入以下命令,抓取线程函数调用的信息(至少抓三次)交予vdf owner分析。echo show_threads > /proc/mi_modules/mi_sys/mi_sys0
1.4 其它问题¶
-
输入以下命令,抓取proc信息(至少抓三次)和kmsg信息交予vdf owner分析。
cat /proc/mi_modules/mi_vdf/mi_vdf0echo 4 > /proc/mi_modules/vdf/debug_levelcat /proc/kmsg > /mnt/xxx.txt