Linux Preemptive内核的含义?

时间:2011-05-09 07:54:15

标签: linux-kernel device-driver preemptive

Linux内核抢占的含义是什么,特别是对于创建设备驱动程序。我猜你需要对资源锁定更加勤奋,但还有什么呢?

2 个答案:

答案 0 :(得分:0)

正如你所提到的那样,竞争条件还有很多机会,所以是的,你必须非常勤奋地使用锁。您还必须注意时序,例如启用/禁用中断或其他硬件资源等时。您并不总是必须在这些情况下使用锁,但您可能需要重新排序代码。最后,它还会影响调度,使高优先级任务更具响应性,从而可能对优先级较低的任务产生负面影响。

答案 1 :(得分:0)

如果不是在SMP上,请确保需要应用此锁定补丁:" Gaurantee spinlocks implicit barrier for !PREEMPT_COUNT",这是在2013年4月制作的。

请注意每次代码运行" spin_unlock _"或者" preemption_enable",抢占可以开始。每当异常返回或中断返回时它都是相同的。除了这些案件和类似案件之外,不应该有其他问题。内核设计保证异常和中断以严格嵌入的方式处理,但SMP多个实例可以并行运行。