最新要闻
- 天天看热讯:想要模仿LPL,DRX赛后发漫画,却被Gen官方拉黑了?
- 焦点速读:Win11下月喜迎更新大礼包:10GB补丁 重启次数更少
- 【环球播资讯】员工发现老板娘偷看同事微信:火速离职
- 天天精选!车标成伤人凶器 日产召回超40万辆汽车
- 索尼降噪耳机新秀!WH-CH720N意外偷跑:升级蓝牙5.2
- 大国重器 首台国产HA级重型燃机下线:未来将100%零排放
- 每日看点!独立包装:大牌N95口罩25片9.9元到手
- 环球观速讯丨贾跃亭名下已无财产可执行:无车辆、不动产
- 【环球报资讯】苹果逐渐向OLED过渡!替换掉mini LED
- 世界消息!羊毛没了 Steam阿根廷区《卧龙》价格暴涨一倍
- 焦点讯息:一看就能装!奇瑞iCar原厂趣改套件上市:3389元起
- 【焦点热闻】舍利子制作方法居然也有发明专利 网友:得道高僧等级速升外挂
- 世界即时:跑腿师傅诉苦:男子订一束花送五个女生均被拒 还被扣款差评
- 微软将用UUP方式推送.NET更新:“可选更新”终于可控
- 钉钉iOS版喜迎更新:支持定时消息 再不怕打扰别人休息了
- 天天热讯:《星际争霸2》新晋中国世界冠军李培楠:别给暴雪送钱 不要买!
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
天天新动态:openeuler加载dpdk驱动模块
虽然是openeuler arm架构加载dpdk网卡驱动,但是linux加载驱动模块的流程和方法是一样的,遇到的问题也是相似的,所以借这个机会把相关的内容介绍一下
确认模块名称
驱动模块开发完成后是一个ko库,拷贝到系统指定目录,然后运行命令加载模块名。有时候想知道源码编译的模块名称是什么,可以在在源码的Makefile
文件中:
## module name and path#MODULE = igb_uioMODULE_PATH = drivers/net/igb_uio
以dpdk的为例,这里有明确的指出,模块的名称和位置,但是MODULE
并不是关键字,是dpdk的一个变量,可以在编译文件中查找*.ko
结尾的内容来确认名称,比如dpdk的:
(资料图片)
_BUILD = $(MODULE).ko
insmod
insmod只会加载指定路径下的某个模块,不会解决依赖,比如insmod /home/test/dev/igb_uio.ko
modprobe
modprobe会帮忙解决依赖,也就是如果加载a模块需要b模块,那么会先加载b模块,再加载a模块,比如modprobe igb_uio
。modprobe不需要指定具体路径,但是你必须要把你的模块放到系统指定目录/lib/modules/#uname -r#/
,这个路径不是固定的,会根据不同的系统而不一样,uname -r
就是后面的目录名称。
depmod
depmod会扫描模块,把结果写入/lib/modules/#uname -r#/modules.dep
文件中,如果安装一个新模块,需要先运行depmod扫描,再运行modprobe加载,不然会报错FATAL: Module test.ko not found in directory /lib/modules/xxx
lsmod
列出系统中安装的模块,内容有三列,第一列是模块名,第二列是模块大小,第三列是模块被谁调用
Module Size Used byib_uverbs 327680 1 rdma_ucmib_iser 262144 0rdma_cm 262144 6 rpcrdma,ib_srpt,ib_srp,ib_iser,ib_isert,rdma_ucm
modinfo
查看模块的信息,可以指定具体路径,也可以只指定
$ modinfo igb_uio filename: /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/dpdk/igb_uio.koauthor: Intel Corporationlicense: GPLdescription: UIO driver for Intel IGB PCI cardssrcversion: 26C63DAE2104091D5DE47C6depends: uioname: igb_uiovermagic: 4.19.90-2110.8.0.0119.oe1.aarch64 SMP mod_unload modversions aarch64parm: intr_mode:igb_uio interrupt mode (default=msix): msix Use MSIX interrupt msi Use MSI interrupt legacy Use Legacy interrupt (charp)
rmmod
删除模块,如果模块不需要了,或者想替换新的模块,需要用rmmod删除,命令如下rmmod igb_uio
module_init module_exit
这两个函数注册两个接口,用作加载和卸载模块的时候调用
module_init(mymodule_init);module_exit(mymodule_exit);
绑定驱动
dpdk-devbind -b igb_uio 0000:c6:00.0
dpdk-devbind是dpdk编译安装的工具,上面就是把igb_uio驱动绑定到指定的网卡bus info中
查看网卡状态
dpdk-devbind -sNetwork devices using DPDK-compatible driver============================================0000:c6:00.0 "Hi1822 Family (4*25GE) 1822" drv=igb_uio unused=hinicNetwork devices using kernel driver===================================0000:7d:00.0 "HNS GE/10GE/25GE RDMA Network Controller a222" if=enp125s0f0 drv=hns3 unused=hns_roce_hw_v2,igb_uio *Active*0000:7d:00.1 "HNS GE/10GE/25GE Network Controller a221" if=enp125s0f1 drv=hns3 unused=hclge,igb_uio 0000:7d:00.2 "HNS GE/10GE/25GE RDMA Network Controller a222" if=enp125s0f2 drv=hns3 unused=hns_roce_hw_v2,igb_uio 0000:7d:00.3 "HNS GE/10GE/25GE Network Controller a221" if=enp125s0f3 drv=hns3 unused=hclge,igb_uio 0000:c3:00.0 "Hi1822 Family (4*25GE) 1822" if=enp195s0 drv=hinic unused=igb_uio 0000:c4:00.0 "Hi1822 Family (4*25GE) 1822" if=enp196s0 drv=hinic unused=igb_uio 0000:c5:00.0 "Hi1822 Family (4*25GE) 1822" if=enp197s0 drv=hinic unused=igb_uio 0000:dd:00.0 "HNS GE/10GE/25GE RDMA Network Controller a222" if=enp221s0f0 drv=hns3 unused=hns_roce_hw_v2,igb_uio
可以看到0000:c6:00.0
这个网卡已经是dpdk的驱动了。
绑定dpdk驱动后,网卡会被dpdk接管,使用ifconfig
就无法查看到网卡信息和名称。
解绑网卡驱动
dpdk-devbind -u 0000:c6:00.0
绑定系统原来驱动
这一步需要知道系统原来驱动名称,可以在最开始调用ethtool -i 网卡名
查看
遇到问题
modprobe: ERROR: could not insert "igb_uio": Invalid argument
当前系统的内核和编译模块内核不匹配,通过uname -r
和modinfo 模块名
查看系统内核与模块的vermagic值是否相同。
$ uname -r4.19.90-2003.4.0.0036.oe1.aarch64$ modinfo igb_uio filename: /lib/modules/4.19.90-2003.4.0.0036.oe1.aarch64/extra/dpdk/igb_uio.koauthor: Intel Corporationlicense: GPLdescription: UIO driver for Intel IGB PCI cardssrcversion: 26C63DAE2104091D5DE47C6depends: uioname: igb_uiovermagic: 4.19.90-2110.8.0.0119.oe1.aarch64 SMP mod_unload modversions aarch64parm: intr_mode:igb_uio interrupt mode (default=msix): msix Use MSIX interrupt msi Use MSI interrupt legacy Use Legacy interrupt (charp)parm: wc_activate:Activate support for write combining (WC) (default=0) 0 - disable other - enable (int)
这时候可以查看一下自己系统上安装的kernel-devel
与系统内核版本uname -r
是否匹配,如果不匹配,先卸载kernel-devel
,再安装指定版本yum install "kernel-devel-uname-r == $(uname -r)"
-
【全球报资讯】(数据库系统概论|王珊)第三章关系数据库标准语言SQL-第六、七节:视图
pdf下载:密码7281专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目...
来源: -
环球热头条丨【算法训练营day44】完全背包基础 LeetCode518. 零钱兑换II LeetCode377. 组合总和IV
LeetCode518 零钱兑换II题目链接:518 零钱兑换II独上高楼,望尽天涯路组合问题和完全背包的混合应用...
来源: 天天新动态:openeuler加载dpdk驱动模块
【全球报资讯】(数据库系统概论|王珊)第三章关系数据库标准语言SQL-第六、七节:视图
环球热头条丨【算法训练营day44】完全背包基础 LeetCode518. 零钱兑换II LeetCode377. 组合总和IV
天天看热讯:想要模仿LPL,DRX赛后发漫画,却被Gen官方拉黑了?
焦点速读:Win11下月喜迎更新大礼包:10GB补丁 重启次数更少
【环球播资讯】员工发现老板娘偷看同事微信:火速离职
天天精选!车标成伤人凶器 日产召回超40万辆汽车
索尼降噪耳机新秀!WH-CH720N意外偷跑:升级蓝牙5.2
大国重器 首台国产HA级重型燃机下线:未来将100%零排放
焦点!字体查看小工具 -- (采用wpf开发)
【算法训练营day43】LeetCode1049. 最后一块石头的重量II LeetCode494. 目标和 LeetCode474. 一和零
每日看点!独立包装:大牌N95口罩25片9.9元到手
环球观速讯丨贾跃亭名下已无财产可执行:无车辆、不动产
【环球报资讯】苹果逐渐向OLED过渡!替换掉mini LED
世界消息!羊毛没了 Steam阿根廷区《卧龙》价格暴涨一倍
焦点讯息:一看就能装!奇瑞iCar原厂趣改套件上市:3389元起
你应该知道的微信小程序游戏技术❗️❗️
【算法题--异或操作】找出数组中唯一没有重复的那个元素
极兔一面:Dockerfile如何优化?注意:千万不要只说减少层数
环球时讯:怎样的目标管理能真正实现目标?做到这3点就对了
开心档之Java 流(Stream)、文件(File)和IO
【焦点热闻】舍利子制作方法居然也有发明专利 网友:得道高僧等级速升外挂
世界即时:跑腿师傅诉苦:男子订一束花送五个女生均被拒 还被扣款差评
微软将用UUP方式推送.NET更新:“可选更新”终于可控
钉钉iOS版喜迎更新:支持定时消息 再不怕打扰别人休息了
天天热讯:《星际争霸2》新晋中国世界冠军李培楠:别给暴雪送钱 不要买!
天天最新:CSS 盒模型和 box-sizing 属性
环球讯息:全志h616,Ubuntu,python3.9环境搭建
【全球新要闻】【关系型数据库】事务特性及事务隔离级别
软件自动化测试高频面试题
环球百事通!游戏帧数暴增84% 英特尔锐炫显卡新老驱动对比
当前动态:山东多人无视劝阻赶海 1人溺水遇难:必须小心这4点
世界即时看!价值7万的爱马仕包运输途中被烧毁!顺丰:如果是我们的问题 会进行处理
天天速看:男子给女友转账140万分手想要回:女方最终被判返还40万
每日热门:媒体曝苹果扩大在印产量障碍重重:这品控看完避雷
新资讯:时隔多年,这次我终于把动态代理的源码翻了个地儿朝天
环球速读:AI照骗恐怖如斯!美女刷屏真假难辨 网友:警惕AI网恋诈骗
【全球时快讯】万元级最香!ROG四款满血笔记本齐上阵:魔霸新锐2023首发9999元手慢无
SQL工具性能实测:居然比Navicat还快,数百万行数据导出仅51秒
当前要闻:从上至下遍历二叉树---队列的性质
全球焦点!00后男生长期把可乐当水喝:牙全坏
《巫师3》次时代版热修复上线:解决4.01版性能问题
MINI纯电Countryman谍照
世界简讯:贾跃亭再被执行2.4亿:总额超42亿!自称FF91四月交付
车主称凯迪拉克新车刹车失灵高速上撞车 网友:这次支持4S
焦点要闻:xxl-job~为宿主机添加定时备份数据库的程序
扬汤止沸是什么意思?扬汤止沸是做功还是热传递?
生活中测量质量的工具有哪些?生活中测量质量的工具研究背景
每日观点:199元!小米30W无线车充开售:电动夹臂 iPhone也能用
天天快资讯:荣耀Magic5系列样张首曝光 AI无人抓拍或刷新拍照速度革命 2月27日全球发布!
全球头条:首发7999起 机械师曙光16 Pro开启预售:可选13代i9+RTX 4070
通讯!13倍浓缩:日本隅田川胶囊咖啡1.2元/杯大差价抄底
你最信任哪家快递公司?数千网友近一半投票给了它
露蜂房和蜂房有什么区别?露蜂房的功效和作用是什么?
漫画长歌行的结局是什么?漫画长歌行什么时候恢复更新?
汉武帝叫什么名字?汉武帝之后的皇位顺序
屏幕分辨率调不了是什么原因?屏幕分辨率调不了怎么解决?
荣事达手机怎么刷机?荣事达手机所有型号
海尔洗衣机e4怎么解决?海尔洗衣机故障代码大全
上海和首尔哪个更发达?上海和首尔咖啡馆数量
骁龙616处理器怎么样?骁龙616处理器相当于麒麟多少?
环球要闻:矩阵中的路径
当前速读:CF1753EF
环球微资讯!机器学习-决策树
三分钟使用chatGPT
全球观天下!关于Linux从内核启动选项中开启对ipv6的支持
京东券在哪里领?京东券怎么使用?
压力给到合资燃油车!比亚迪秦PLUS DM-i冠军版上市5天订单破2.5万
每日热闻!真我GT Neo5成为史上最畅销的安卓1TB手机:首销被抢购一空
热点!非机械键盘不买?你可能不了解薄膜键盘
天天报道:一箱油跑1100km 五菱凯捷混动铂金版将上市:演员周迅成首位车主
控制空调、收音机 无缝显示油量!全新一代苹果Carplay年底推出
全球百事通!面试官:Lambda 表达式中的 forEach 如何提前终止?这次被问倒了!
天天讯息:从青铜到王者,揭秘 Serverless 自动化函数最佳配置
Linux常用命令
微资讯!转移国内工厂 彻底摆脱中国制造?印度坑惨苹果 iPhone良品率不到50%
环球快播:一次性带走29包 奥利奥缤纷零食大礼包狂促:券后29.9元
世界滚动:比小米猛!曝Redmi K60将推出1TB版本:彻底解决微信存储焦虑
重庆阿姨参加免费活动微信被封 腾讯客服:发布刷单欺诈消息 已解封
天天精选!索尼出品!《圣斗士星矢》真人电影最新预告发布 4月28日上映
每日聚焦:UiPath 初探
canvas画板(鼠标和触摸)
天天速看:史上最大客机订单!印度航空采购波音、空客近500架客机
全球消息!199元 小米米家智能电子血压计众筹:支持联网远程监测
观天下!你怎么看?国内多地学校尝试推作业熔断机制:超过9点无条件停做
“中国复眼”二期开工!事关我国近地小行星撞击防御
环球热资讯!天选之子!女子来西安旅游买30元彩票中了1800万 网友调侃又骗我买彩票
【当前热闻】读Java实战(第二版)笔记10_函数式编程的技巧
历史一刻!欧洲宣布禁止燃油车 时间确定:中国新能源汽车笑了
天天资讯:2 - 【RocketMQ 系列】CentOS 7.6 安装部署RocketMQ
【全球快播报】前端安全--CSRF攻防
期末复习——操作系统概述 chapter(0+1)
全球热文:期末复习——进程与线程
精选!暴雪服务器消失后 《星际争霸2》多了个中国世界冠军
ChatGPT火爆 韩国厂商天降喜事:HBM内存价格涨了5倍
热门看点:情人节晚上 我的被窝里只有童年回忆杀
离开太阳系!旅行者号要给外星人讲讲人类的爱情
创建.a静态库, framework静态库
环球资讯:Android JetPack~ DataBinding(数据绑定)(一) 集成与使用
天天通讯!索尼正在研究如何把PS5塞进桌斗里:抱着送人太沉了