【发布时间】:2013-12-28 22:26:04
【问题描述】:
我正在努力在 char 设备驱动程序中实现阻塞调用。我将 wait_queue_head_t 元素与 wait_queue_interruptible 和 wake_up_interruptible 调用一起使用。我对阻塞行为的理解和阅读是,当呼叫被阻塞时,它会休眠(不是忙等待)并且不会消耗资源。但是当我在wait.h 中检查struct wait_queue_head 时,它使用了spin-lock。自旋锁具有不休眠的行为(忙于等待)..!所以这让我很困惑。请对此有帮助的任何澄清?我错过了什么吗?
【问题讨论】:
-
请看Here。
标签: c linux-kernel kernel linux-device-driver