linux内核抢占的含义是什么,特别是对于创建设备驱动程序。我猜您需要更加勤奋地处理资源锁定问题,但是还有其他事情要做吗?
发布于 2011-05-09 22:59:07
正如你所提到的,竞争条件有更多的机会,所以是的,你必须非常勤奋地使用锁。您还必须小心计时,例如当您启用/禁用中断或其他硬件资源时,等等。对于这些情况,您不必总是使用锁,但您可能需要重新排序代码。最后,它还会影响调度,允许高优先级任务具有更高的响应性,这反过来可能对低优先级任务产生负面影响。
发布于 2013-06-05 08:44:25
如果不是在SMP上,请确保需要应用这个锁补丁:"Gaurantee spinlocks implicit barrier for !PREEMPT_COUNT",这是在2013年4月制作的。
请注意,每次代码运行"spin_unlock_“或"preemption_enable”时,都会发生抢占。无论是异常返回还是中断返回,都是一样的。除了这些情况和类似的情况,不应该有其他的担忧。内核设计确保以严格嵌入式的方式处理异常和中断,尽管使用SMP可以并行运行多个实例。
https://stackoverflow.com/questions/5934061
复制相似问题