海思-VB被占用導致vb無法去初始化


在每次初始化VB前,都會去先初始化MPP系統,再去初始化VB

1 HI_MPI_SYS_Exit();
2 HI_MPI_VB_Exit();

 

 但是去初始化不會清楚先前對緩存池的設置,且若有VB被占用,去初始化就會失敗

1 HI_MPI_VB_SetConf failed with 0xa0018012!  //系統忙

查看/dev/logmpp, 確實有VB被占用,沒有被釋放。

1 <3>[    vb] [Func]:vb_set_config [Line]:1719 [Info]:VB is initialized!
2 <3>[    vb] [Func]:destroy_pool [Line]:465 [Info]:blk in this pool(6) occupied by someone, please release first!
3 <3>[    vb] [Func]:destroy_pool [Line]:465 [Info]:blk in this pool(6) occupied by someone, please release first!

方法有二:

1. 找到VB被占用,程序退出時VB沒有釋放的原因
2. 在程序退出時,由系統強制銷毀VB(插入 hi35xx_base.ko 時加上模塊參數 vb_force_exit=1)

 

在程序運行時,查看pool(6),cat proc/umap/vb ,發現pool(6)是AI模塊使用的,所以定位到Ai,可能是由於用戶手動獲取Frame, 程序退出時,沒能手動釋放Frame,
導致AI占用的VB未能回收導致的。
寫測試程序驗證,的確是這個原因。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM