社区
Linux_Kernel
帖子详情
急:如何提高驱动程序的运行效率,处理大数据量??
worldcup
2004-10-15 02:17:50
最近开发一网络设备的驱动,该设备在收到数据时会产生中断,进入中断处理函数,我现在
的做法是:在中断处理函数中先判断中断类型,如果是接收数据中断来了,再去调用数据接收
函数,接收完后再返回中断处理函数,这方法在数据量小,发送慢时还可以,但数据量一大,中断
队列立即就满了,来不及处理数据就死机了!
请教大家:有什么好的方法可以提高效率?请多提建议!!
是否可以使用内核线程??
谢谢!!
...全文
112
4
打赏
收藏
急:如何提高驱动程序的运行效率,处理大数据量??
最近开发一网络设备的驱动,该设备在收到数据时会产生中断,进入中断处理函数,我现在 的做法是:在中断处理函数中先判断中断类型,如果是接收数据中断来了,再去调用数据接收 函数,接收完后再返回中断处理函数,这方法在数据量小,发送慢时还可以,但数据量一大,中断 队列立即就满了,来不及处理数据就死机了! 请教大家:有什么好的方法可以提高效率?请多提建议!! 是否可以使用内核线程?? 谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
worldcup
2004-10-22
打赏
举报
回复
哥们,有帮助,谢了,给分!
qinzheng
2004-10-21
打赏
举报
回复
兄弟,要是我说的对你有帮助,而别人又不怎么说,那么请你把分给我 ^^
在中断程序里处理大量数据是不合理的,因为中断程序应该马上返回,在中断期间,中断程序是不接受任务调度的,也就是说,在那个时候,系统不是多任务的,所以你死机了.....
在linux中,中断处理被分成两个部分,就是上半部和底半部,上半部用来处理中断,之后马上启动底半部,把大量任务交给底半部,就可以避免长时间不能任务调度.
底半部程序的做法你自己去查好了.一句两句也说不清.<<linux内核驱动程序>>,魏永明先生译的那个很不错,你可以看看.
或者你吧读取的任务放到用户空间来也行,在你的设备驱动中实现poll,然后在用户空间用while(0){
select()
}
的形式,就象socket一样,驱动并不读取数据,只是唤醒select,然后应用程序去读,应该也可以.
沙沙的吹
2004-10-17
打赏
举报
回复
为什么不用DMA呢?
在内核态已经是全速运行了,又没东西和你抢CPU时间,不可能更高速了,只有DMA可以稍微好点
对了,如果事情都在内核做,尽量隔一段时间释放一下CPU,不然感觉机器就是死了
changlin365
2004-10-16
打赏
举报
回复
up
Windows驱动开发系列之三:WDF驱动开发入门
3)事件回调函数:从派遣函数到事件回调函数的原理流程解析 4)WDF过滤驱动:掌握WDF对IRP的
处理
,以及过滤驱动的应用 5)WDF驱动安装:掌握驱动安装原理和INF文件的重要概念 Windows内核开发寄语: 1、...
C:
提高
C代码
运行
效率
的方法有哪些?列举几个
提高
代码执行
效率
的方法
如何
提高
代码
运行
效率
?
提高
C语言代码
运行
效率
的方法 如何优化C语言代码 实用的C语言编程技巧 哪些方法可以
提高
代码的执行
效率
?
提高
C代码
运行
效率
的方法有哪些? 列举几个
提高
代码
运行
效率
的方法
驱动程序
通知应用程序读取数据的方法总结
mark一下,以后需要。
驱动程序
如何通知应用程序读取数据?这是一个很多人都关心的问题。 在此之前,我一直是采用的应用程序主动查询的方式,即,应用程序定时发送IRP来读取驱动程 序的数据。为此,必须考虑一个问题——如果应用程序没有
运行
,而
驱动程序
的缓冲区满了,如何
处理
?此外,应用程序需要不停地发送IRP,但是,每次发送后要Sleep一下,否则,CPU占有率会过高的。
JAVA与JS执行
效率
谁更高?
开发积累了一定经验后,发现很多数据
处理
都既可以在后台用JAVA
处理
,也可以用前台的JS
处理
。数据
量
大的时候不禁好奇:执行
效率
哪个更快?什么情况下用JAVA/JS更好呢? 具体的区别来讲: (一) java是面bai对对象的编程 javascript是一种可以嵌入Web页面中的基于对象dao和事件驱动的解释性语言,用来向页面添加交互效果,使页面动态化。 (二) java是需要进行预编译的,javascript不需要预编译,在程序的
运行
过程中逐行进行解释,由浏览器解释执行。 (三) java定义变
量
需要定义数据
微信小程序代码最大限制2M的解决方案
了解小程序有最大代码
量
限制之前需要先了解微信小程序的本质:前端近几年都处于技术爆炸时期, react 最早的是facebook开源的开发框架----react,支持移动网页和原生app的开发(react native),提倡一次学习,全渠道开发。目的是让产品研发更聚焦更敏捷,它有三个重要特性: 数据绑定:数据驱动交互 模块化:可复用的轮子 多终端渲染:适配多客户端,用前端技术就能实现原生app R...
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章