社区
Linux_Kernel
帖子详情
驱动多线程中频繁使用mdelay会对系统造成问题吗?
donny0923
2012-01-14 07:59:57
驱动中开一个线程一直在运转,然后每隔100us(使用udelay延时),就操作一次硬件,那么这个100us会受到应用层阻塞线程或者 其他阻塞的影响么?
...全文
270
3
打赏
收藏
驱动多线程中频繁使用mdelay会对系统造成问题吗?
驱动中开一个线程一直在运转,然后每隔100us(使用udelay延时),就操作一次硬件,那么这个100us会受到应用层阻塞线程或者 其他阻塞的影响么?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
德生coding
2012-01-16
打赏
举报
回复
楼上两位都说得很不错!顶一下!
dongjiawei316
2012-01-15
打赏
举报
回复
udelay是忙等待,会一直占着你的CPU的,如果你循环每操作一次硬件就udelay一下,那么你其他应用程序几乎都不能跑了。。。。
建议msleep,虽然是ms级的。但是他不会一直占着你的CPU
deep_pro
2012-01-14
打赏
举报
回复
驱动开的是内核线程 跟普通进程一样是可以调度的
udelay是靠死循环实现的延迟,当你的内核线程没有占用cpu时,很可能超过1ms都不会执行你的程序
100us是小于进程可能的最小时间片的 (HZ=1000时,1ms才产生一个时钟中断,假设时间片为1个jiffes,1ms才可能发生进程切换,轮到你的内核线程)
所以这是靠不住的,会受到其他阻塞进程的影响
你需要使用内核高精度定时器 ,一般的内核定时器都不能达到us级
这种时间级别的操作,应该都有装用的硬件控制器来做
NXP i.MX RT1052 RT-Thread实战:消息队列
NXP i.MX RT1052 RT-Thread实战。 NXP i.MX RT1052
驱动
程序。 资源代码可直接编译、运行。
基于rt-thread的
多线程
TCP并发服务器实现
网络编程是IT领域的一个基础分支,它涉及到数据在不同网络节点之间传输的编程实践。其重要性在于,它使得不同的计算机能够在各种网络环境
中
进行数据交换,从而实现资源的共享和服务的部署。对网络编程的理解是构建现代互联网应用不可或缺的一环。rt-thread操作系统是一种小巧而功能强大的实时操作系统,适合用于广泛的嵌入式设备。它的设计理念是基于模块化、组件化、可裁剪的,并且具有良好的可伸缩性和广泛的应用场景。rt-thread不仅支持广泛的硬件平台,还提供了丰富的一级
驱动
库和
中
间件,为开发者提供了极大的便利。
linux嵌入式系统开发之触摸屏---
驱动
篇(
中
/Linux输入子系统)
linux嵌入式系统开发之触摸屏---
驱动
篇(
中
/Linux输入子系统) 既然说到了linux输入子系统,那么为什么要用输入子系统呢?这得从面向对象的程序设计
中
说起,通过面向对象技术,极大地的提高了代码的可重用能力。重用的作用可以是很多linux hack们所迷恋,为啥?有了重用,就不用花费大量的精力去做一些相同或相近的事情(什么?吃饭,对,还就是吃饭,天天让小王吃一样东
驱动
开发面试复习
多个程序同时访问一个共享资源产生的
问题
就叫做竞争。竞争产生的根本原因就是 Linux 系统的并发访问竞争产生的原因如下所示:(1)
多线程
的并发访问(2)
中
断程序的并发访问(3)抢占式并发访问所谓并发,就是通过算法将 CPU 资源合理地分配给多个任务,当一个任务执行 I/O 操作时,CPU 可以转而执行其它的任务,等到 I/O 操作完成以后,或者新的任务遇到 I/O 操作时,CPU 再回到原来的任务继续执行。
Linux内核设备
驱动
之内核的时间管理笔记整理
实践
中
,约定做法是在
使用
wait_event时
使用
wake_up,而
使用
wait_event_interruptible时
使用
wake_up_interruptible。前面介绍的是确定时间的延迟执行,但在写
驱动
的过程
中
经常遇到这种情况:用户空间程序调用read函数从设备读数据,但设备
中
当前没有产生数据。与前面几种延迟方法不同,内核定时器并不
会
阻塞当前进程,启动一个内核定时器只是声明了要在未来的某个时刻执行一项任务,当前进程仍然继续执行。进程经过2秒后
会
被唤醒。该宏在实现休眠的同时,检查进程等待的条件。
Linux_Kernel
4,466
社区成员
17,461
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章