标签: linux-kernel linux-device-driver semaphore
为写入IO发送bio down时,我获取了一个信号量(down_interruptible)。在IO完成例程中,即在bio_end_io内,我释放信号量(up)。
bio down
down_interruptible
bio_end_io
up
我知道在完成例程中获取信号量是非法的,因为在原子上下文中不允许阻塞操作。但是在释放信号量时是否也适用相同的限制?