[rk3588 debain]cpu死锁问题解决

news2024/9/29 15:15:00

1 问题

        rk3588机器上运行客户如下程序程序发生“BUG: spinlock recursion on CPU#0”

./rtsp RtspWrapper.xml

        应用程序功能是:ip摄像头推流,通过rtsp协议拉流,对视频流做裁剪,缩放工作。首先,根据视频帧率每秒钟处理25张图片。其次,每张图片都会做颜色转换和缩放。最后,会根据图像里人的个数并行执行:颜色转换,裁剪,缩放。总体流程:取流,vpu解码,gpu图像处理,npu算法分析

        发生的bug日志如下所示

[WARNING] fastdeploy/runtime/backends/rknpu2/rknpu2_backend.cc(420)::InitRKNNTensorMemory       The input tensor type != model's inputs type.The input_type need FP16,but inputs[0].type is UINT8
[WARNING] fastdeploy/runtime/backends/rknpu2/rknpu2_backend.cc(420)::InitRKNNTensorMemory       The input tensor type != model's inputs type.The input_type need FP16,but inputs[0].type is UINT8
[  529.440796] BUG: spinlock recursion on CPU#0, Pose/3919
[  529.440830]  lock: 0xffffff81058a98b8, .magic: dead4ead, .owner: Pose/3919, .owner_cpu: 0
[  529.440840] CPU: 0 PID: 3919 Comm: Pose Tainted: G        W  O      5.10.160 #22
[  529.440845] Hardware name: Rockchip RK3588 IR88MX01 LP4X V10 Board (DT)
[  529.440852] Call trace:
[  529.440863]  dump_backtrace+0x0/0x1a8
[  529.440871]  show_stack+0x1c/0x24
[  529.440880]  dump_stack_lvl+0xc4/0xf0
[  529.440886]  dump_stack+0x14/0x2c
[  529.440893]  spin_bug+0x8c/0xac
[  529.440899]  do_raw_spin_lock+0x5c/0xd4
[  529.440906]  _raw_spin_lock+0x14/0x1c
[  529.440915]  rknpu_job_subcore_commit.isra.0+0x3c/0x254
[  529.440921]  rknpu_job_commit+0x54/0xa4
[  529.440927]  rknpu_job_next+0xf0/0xf4
[  529.440934]  rknpu_irq_handler.constprop.0+0x6c/0x2d4
[  529.440941]  rknpu_core0_irq_handler+0x1c/0x24
[  529.440948]  __handle_irq_event_percpu+0xd0/0x200
[  529.440954]  handle_irq_event_percpu+0x34/0x84
[  529.440959]  handle_irq_event+0x4c/0x8c
[  529.440966]  handle_fasteoi_irq+0xa8/0x124
[  529.440973]  generic_handle_irq_desc+0x10/0x18
[  529.440979]  __handle_domain_irq+0xb8/0xc0
[  529.440986]  gic_handle_irq+0x2b0/0x300
[  529.440992]  el1_irq+0xc8/0x180
[  529.440998]  rknpu_job_subcore_commit.isra.0+0x1b0/0x254
[  529.441004]  rknpu_job_commit+0x54/0xa4
[  529.441010]  rknpu_job_next+0xf0/0xf4
[  529.441017]  rknpu_job_schedule+0x210/0x220
[  529.441023]  rknpu_submit_ioctl+0x308/0x68c
[  529.441029]  __rknpu_submit_ioctl+0x44/0x64
[  529.441037]  drm_ioctl_kernel+0xa8/0xf8
[  529.441042]  drm_ioctl+0x2f4/0x33c
[  529.441050]  vfs_ioctl+0x2c/0x48
[  529.441056]  __arm64_sys_ioctl+0x64/0x94
[  529.441063]  el0_svc_common.constprop.0+0xd4/0x184
[  529.441069]  do_el0_svc+0x20/0x28
[  529.441076]  el0_svc+0x1c/0x28
[  529.441082]  el0_sync_handler+0xc8/0x14c
[  529.441088]  el0_sync+0x158/0x180
[  529.995156] rkvdec2_ccu_timeout_work:1380: fdc38100.rkvdec-core, task 746 state 0xf timeout
[  530.025518] rga3_reg: RGA3 core[1] soft reset complete.
[  530.025542] rga_job: rga request[1351] commit failed!
 RgaBlit(1465) RGA_BLIT fail: Device or resource busy
[  530.025546] rga: request[1351] submit failed!
 RgaBlit(1466) RGA_BLIT fail: Device or resource busy
[  530.025554] rga3_reg: RGA3 core[2] soft reset complete.
fd-vir-phy-hnd-format[0, (nil), (nil), 0, 0]
[  530.025600] rga_job: rga request[1353] commit failed!
rect[286, 0, 314, 988, 1920, 1088, 2560, 0]
[  530.025604] rga: request[1353] submit failed!
f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 0]
fd-vir-phy-hnd-format[0, (nil), (nil), 0, 0]
rect[0, 0, 192, 256, 192, 256, 1792, 0]
f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 0]
This output the user patamaters when rga call blit fail
srect[x,y,w,h] = [286, 0, 314, 988] src[w,h,ws,hs] = [314, 988, 1920, 1088]

drect[x,y,w,h] = [0, 0, 192, 256] dst[w,h,ws,hs] = [192, 256, 192, 256]

usage[0x80000]
 RgaBlit(1465) RGA_BLIT fail: Device or resource busy
 RgaBlit(1466) RGA_BLIT fail: Device or resource busy
fd-vir-phy-hnd-format[0, (nil), (nil), 0, 0]
rect[0, 0, 1920, 1088, 1920, 1088, 2560, 0]
f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 0]
fd-vir-phy-hnd-format[0, (nil), (nil), 0, 0]
rect[0, 0, 640, 640, 640, 640, 1792, 0]
f-blend-size-rotation-col-log-mmu[0, 0, 0, 0, 0, 0, 0]
This output the user patamaters when rga call blit fail
srect[x,y,w,h] = [0, 0, 1920, 1088] src[w,h,ws,hs] = [1920, 1088, 1920, 1088]

drect[x,y,w,h] = [0, 0, 640, 640] dst[w,h,ws,hs] = [640, 640, 640, 640]

2 解决问题

        原来系统的rknpu版本为0.82,版本太低了,更新 rknpu的版本为 0.96 解决该问题,更新的代码文件如下所示。

zwzn2064@zwzn2064-CVN-Z690D5-GAMING-PRO:~/sda1/work/rknpu_096/rk3588-linux$ git status
Refresh index: 100% (199723/199723), done.
HEAD detached at origin/develop-ir88mx01-lianyun
Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   kernel/drivers/firmware/rockchip_sip.c
        modified:   kernel/drivers/rknpu/Makefile
        modified:   kernel/drivers/rknpu/include/rknpu_drv.h
        modified:   kernel/drivers/rknpu/include/rknpu_gem.h
        modified:   kernel/drivers/rknpu/include/rknpu_ioctl.h
        modified:   kernel/drivers/rknpu/include/rknpu_iommu.h
        modified:   kernel/drivers/rknpu/include/rknpu_job.h
        modified:   kernel/drivers/rknpu/include/rknpu_mem.h
        modified:   kernel/drivers/rknpu/rknpu_debugger.c
        modified:   kernel/drivers/rknpu/rknpu_drv.c
        modified:   kernel/drivers/rknpu/rknpu_gem.c
        modified:   kernel/drivers/rknpu/rknpu_iommu.c
        modified:   kernel/drivers/rknpu/rknpu_job.c
        modified:   kernel/drivers/rknpu/rknpu_mem.c
        modified:   kernel/drivers/rknpu/rknpu_reset.c
        modified:   kernel/drivers/soc/rockchip/rockchip_opp_select.c
        modified:   kernel/include/linux/rockchip/rockchip_sip.h
        modified:   kernel/include/linux/version_compat_defs.h
        modified:   kernel/include/soc/rockchip/rockchip_opp_select.h

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        kernel/drivers/rknpu/include/rknpu_devfreq.h
        kernel/drivers/rknpu/rknpu_devfreq.c

no changes added to commit (use "git add" and/or "git commit -a")
zwzn2064@zwzn2064-CVN-Z690D5-GAMING-PRO:~/sda1/work/rknpu_096/rk3588-linux$ 

        查询 npu 版本使用命令

dmesg | grep -i rknpu

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2177127.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【最新发布】Win10 22H2 19045.4957 正式版免费下载!

今日系统之家小编给大家分享2024年9月第二次更新的Windows10 22H2正式版系统&#xff0c;该版本系统基于最新Windows10 22H2 19045.4957 64位专业版进行离线制作&#xff0c;安全无毒&#xff0c;修复了使用某些环绕声技术时某些媒体的播放可能会停止等多项问题&#xff0c;系统…

基于C#开发的(CS界面)图书管理系统

图书管理系统项目开发说明书 项目简介 项目背景&#xff08;选择这个项目的原因、前景&#xff0c;面向的用户&#xff0c;优势&#xff09;&#xff1b; 根据温州理工学院需要希望能够充分利用现代科技来提高图书管理的效率&#xff0c;在原有的办公系统基础上进行扩展&…

1. 如何在服务器上租GPU跑实验 (以AutoDL为例) - 深度学习·科研实践·从0到1

目录 前言 1. 在AutoDL上注册账号 2. 在算力市场选择GPU 3. 创建实例 4. 控制台-容器实例界面&#xff08;核心&#xff09; 4.1 无卡模式&#xff08;常用&#xff09; 5. 帮助文档 前言 好记性不如烂笔头&#xff0c;本专栏将详细记录下本人学习深度学习工程实践&…

Python通过Sqlalchemy框架实现增删改查

目录 简介 什么是SQLAlchemy&#xff1f; SQLAlchemy可以分为两个部分&#xff1a;Core和ORM。 一、首先安装sqlalchemy 二、在配置文件中添加数据库连接信息&#xff0c;我这里是Mysql 三、 创建数据库连接类&#xff0c;我这里是动态读取数据库的表字段&#xff0c;自动…

神器!GPT让大学生也能轻松实现架构师级的系统设计图

文章目录 零、前言一、实现架构师级的系统设计图操作指导系统背景功能细化 画用例图画系统架构设计图划分html页面画实体类图画服务层类图画时序图画数据库ER图 二、感受 零、前言 粉丝做毕业设计时&#xff0c;不会画架构图&#xff0c;问虚竹哥会不会画&#xff5e; 虽然这…

基于微信小程序的空巢老人健康管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…

STM32引脚PB3、PB4、PA15作为输入输出的特殊配置

一、问题描述 简单描述&#xff1a; 最近做的一个项目中&#xff0c;PB3端口配置为输入&#xff0c;不管外部输入是高电平还是低电平&#xff0c;一直读取到的是低电平。 调试过程&#xff1a;在撰写代码过程中&#xff0c;又发现新的问题&#xff0c;Enter按键无法控制屏幕数…

电脑显示缺失msvcp140_1.dll怎样修复,5种快速修复方法让你快速修复

1. msvcp140_1.dll 定义 1.1 Microsoft Visual C 2015 Redistributable组件 msvcp140_1.dll 是 Microsoft Visual C 2015 Redistributable 的关键组件之一&#xff0c;扮演着至关重要的角色。以下是对 msvcp140_1.dll 的详细分析&#xff1a; 组件功能&#xff1a;msvcp140_…

《中国电子报》报道: 安宝特AR为产线作业者的“秘密武器

近日&#xff0c;中国电子报在其文章《下一代工业智能终端重新定义制造业》中对安宝特的增强现实&#xff08;AR&#xff09;解决方案给予了高度评价&#xff0c;称其为产线作业者的“秘密武器”。这一创新技术改变了传统制造业的作业方式&#xff0c;使得操作人员能够在生产过…

Ubuntu中交叉编译armadillo库

网上关于交叉编译armadillo库比较少&#xff0c;借鉴了一些但是在前几天编译时总是磕磕绊绊&#xff0c;于是写一个详细的编译过程。 交叉编译armadillo库包含两个步骤&#xff1a;交叉编译依赖库和交叉编译armadillo。armadillo官网介绍依赖库如下图所示&#xff1a; 需要注意…

【高性能内存池】page cache 5

page cache 1 page cache的框架2 central cache从page cache申请n页span的过程3 page cache 的结构3.1 page cache类框架3.2 central cache向page cache申请span3.3 获取k页的span page cache的结构和central cache是一样的&#xff0c;都是哈希桶的结构&#xff0c;并且挂载的…

JAVA全球互联同城速达国际版同城跑腿快递代取帮买帮送一体化服务系统源码

全球互联&#xff0c;便捷生活新篇章&#xff01; &#x1f31f; 开篇&#xff1a;跨越国界的即时服务革命 在这个快节奏的时代&#xff0c;你是否也曾为忙碌的生活而烦恼&#xff1f;购物、取件、送物……这些日常琐事似乎总在不经意间占据了我们宝贵的时间。但现在&#xf…

003集—— CAD批量划线和text文字(CAD—C#二次开发入门)

本例通过for循环创建255条线&#xff0c;颜色不同&#xff0c;并在线的右端点处注记文字。 效果如下: 本文有个事务的封装函数&#xff0c;如下&#xff1a; private ObjectId AppendEntity(Entity entity) { ObjectId objectId; Database db HostApplication…

❤Node实现接口增删改查(文章为例)

❤Node实现接口增删改查&#xff08;文章为例&#xff09; 1、文章表的创建​ 接下来我们新建一个文章数据表article&#xff0c;实现对于文章部分的管理功能接口 根据文章我们创建一个对应的 SQL 数据表 javascript CREATE TABLE articles (id INT AUTO_INCREMENT PRIMAR…

亚马逊卖家如何利用自养号测评策略低成本提升销量?

在跨境电商的平台上&#xff0c;随着市场逐渐成熟与竞争的白热化&#xff0c;众多卖家正面临流量增长乏力与转化率提升困难的双重挑战。为了在这日益激烈的竞争环境中脱颖而出&#xff0c;卖家们纷纷加大投入&#xff0c;探索多样化的推广策略&#xff0c;但往往因策略不够精准…

探索Kombo:AI与API的完美结合

文章目录 探索Kombo&#xff1a;AI与API的完美结合背景介绍库的定义安装指南简单函数使用场景应用常见问题及解决方案总结 探索Kombo&#xff1a;AI与API的完美结合 背景介绍 在当今快速发展的人工智能领域&#xff0c;Kombo库以其独特的优势脱颖而出。Kombo是一个专注于AI的…

2024年7月大众点评全国爱车前百名城市分析

在做一些城市分析、学术研究分析、商业选址、商业布局分析等数据分析挖掘时&#xff0c;大众点评的数据参考价值非常大&#xff0c;截至2024年7月&#xff0c;大众点评美食店铺剔除了暂停营业、停止营业后的最新数据情况分析如下。 分析研究的字段维度包括大众点评数字id、字母…

微信商城小程序怎么弄_重塑购物体验

在数字化浪潮的推动下&#xff0c;微信商城小程序正逐步成为消费者购物的新宠儿。它不仅打破了传统电商的界限&#xff0c;更以其便捷性、高效性和个性化服务&#xff0c;重新定义了购物体验。今天&#xff0c;让我们一同探索微信商城小程序如何以独特魅力&#xff0c;引领未来…

巴鲁夫rfid读头国产平替版——高频RFID读写器

随着RFID技术的不断发展&#xff0c;国内RFID企业的数量也在不断地变多&#xff0c;国产RFID读写器的质量也越来越高。具有着价格实惠、质量可靠等特点&#xff0c;成为了可平替国外RFID产品的首要选择。健永科技的高频RFID读写器JY-H830&#xff0c;是一款可平替巴鲁夫rfid读头…