阅读:1104回复:1
如何处理这种情况下的睡眠,高手请进?
最近遇到一个问题
程序大体顺序如下 启动DMA 睡眠 板卡运算完成发出中断,打断睡眠 问题是,我担心如果在睡眠之前,硬件就运算完毕,那就会导致当前进程永远睡眠,可是我们常用的各种锁或者禁止中断等等,在这里用不上,因为这是个睡眠,我没办法加锁!!!可是我又不能不让他睡眠,因为我要等待板卡运算完毕,如果用循环轮询的话我想如果遇到大数据传输或运算,会很浪费CPU资源!!! 硬件工程师跟我说,即便传一个字节到板卡,并运算完毕,大概也需要120纳秒,我不知道,这个时间是否能保证我的进程一定进入了睡眠,而不是在睡眠前被运算完毕的中断打断,导致从中断返回后,进入了永久睡眠 |
|
沙发#
发布于:2004-05-09 13:58
怪我看书不仔细,有前辈批评我了,呵呵呵,LDD2中断处理那一章专门阐述了这个问题
|
|