【发布时间】:2014-12-22 23:43:04
【问题描述】:
我写过这样的代码:
它处于非中断上下文中:
spin_lock_irqsave(&lock, flags);
printk("some message blah...\n");
spin_unlock_irqrestore(&lock, flags);
我正在运行此代码并且“看起来”很安全,因为我没有看到任何崩溃。 但是,我不确定这是否真的是一个安全的代码。因为这可能会以 1/100000 的概率触发系统崩溃。
另外,我想知道在 spin_lock_irqsave 中调用“sleep”函数是否安全(在非中断上下文中)。
【问题讨论】:
-
还有什么能获取
lock吗? -
是的,可以。而且,我想在 spin_lock_irq 之间放置事件等待例程...
标签: linux kernel sleep irq printk