打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在kernel中如何sleep .

1. udelay (mdelay调用udelay实现)

udelay应该是没有出让CPU的强制等待(忙等,占用CPU),和应用层的sleep还是有区别的。

udelay适合于编写硬件I/O时的短时间延迟,一般是微秒级才用。

如果延迟需要较长(ms以上),最好还是发出schedule(), 出让CPU比较好。也可以先设置一下任务的休眠时间再出让。

 

2.sleep_on(), interruptible_sleep_on(); sleep_on_timeout(), interruptible_sleep_on_timeout();
这些函数相当于我们平时的阻塞读、写之类的语义,主要用于等外设完成某些操作。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
linux等待队列wait
sleep_on_timeout() -- 内核模块睡眠
阻塞与非阻塞I/O
全面解析Linux内核的同步与互斥机制
Linux内核机制之等待队列
linux中的阻塞机制及等待队列
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服