群内/TI的各位高手:
你们好! 我这边用的是8127芯片, RDK版本为3.5, 我在RDK的基础上利用link做了一个chain, 从vpss -> dsp -> a8 -> video,在DSP核上需要运行一个对帧进行处理的算法,有时候耗时比较长(比如100多ms,甚至几百耗秒), 这个chain在长时间运行稳定性测试中,遇到一个这样的问题: 当在DSP核上算法运行时间比较长,有可能导致chain断流, 我仔细看了chain上的link, 都建有队列,我不太明白的是为什么中间某个link的任务执行时间长会导致挂死,因为下一个link任务时间长,也只是其中的队列中的数据满了无法放进去,处理完后释放应该还是可以继续正常处理的呀? 哪位能提供一些帮助吗?
首先在这里衷心感谢了!!
Ternence_Hsu:
你好;
会不会和你添加的DSP算法长时间运行导致的问题呢?
在 mcfw中的link,里面的frame处理的时候,在无数据的情况,是没有问题,像swms会repeat上一帧数据的;其他link是不处理的;
如果link收到的数据过多,处理不过来的时候,会drop对应的frame,再还会empty frame;
jensen zhang:
回复 Ternence_Hsu:
群内的同仁没有哪位遇到过chain数据流断的问题吗? 能列举出一般常见的现象是什么吗?
jensen zhang:
回复 jensen zhang:
改正下,常见的原因是什么?
Ternence_Hsu:
回复 jensen zhang:
Hi , jensen ;
你提到的chains 断流的情况也遇到过;
在当前link拿的prev link过来的full frame 的时候,处理完,如果没有把这个frame 释放给前面link的时候,这个对应的通过就会出现你提到的chains断流了
在调试过程中是有这个可能的