Forest_Leo
驱动牛犊
驱动牛犊
  • 注册日期2004-02-26
  • 最后登录2004-11-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1072回复:1

如何处理这种情况下的睡眠,高手请进?

楼主#
更多 发布于:2004-05-06 09:38
最近遇到一个问题

程序大体顺序如下

启动DMA

睡眠


板卡运算完成发出中断,打断睡眠


问题是,我担心如果在睡眠之前,硬件就运算完毕,那就会导致当前进程永远睡眠,可是我们常用的各种锁或者禁止中断等等,在这里用不上,因为这是个睡眠,我没办法加锁!!!可是我又不能不让他睡眠,因为我要等待板卡运算完毕,如果用循环轮询的话我想如果遇到大数据传输或运算,会很浪费CPU资源!!!

硬件工程师跟我说,即便传一个字节到板卡,并运算完毕,大概也需要120纳秒,我不知道,这个时间是否能保证我的进程一定进入了睡眠,而不是在睡眠前被运算完毕的中断打断,导致从中断返回后,进入了永久睡眠
Forest_Leo
驱动牛犊
驱动牛犊
  • 注册日期2004-02-26
  • 最后登录2004-11-15
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-05-09 13:58
怪我看书不仔细,有前辈批评我了,呵呵呵,LDD2中断处理那一章专门阐述了这个问题
游客

返回顶部