什么是Linux内核先发制人,特别是创建设备驱动程序的影响。我猜你需要更加努力地关注资源锁定,但是还有什么更多?Linux先发制人的内核影响?
0
A
回答
0
正如你所提到的,竞赛条件有很多机会,所以是的,你必须非常勤奋地锁定。您还必须小心计时,例如当您启用/禁用中断或其他硬件资源时等。您并不总是必须为这些情况使用锁,但您可能必须重新对代码进行重新排序。最后,它还影响调度,使高优先级任务的响应能力更强,从而可能对优先级较低的任务产生负面影响。
0
如果没有在SMP,确保该锁补丁需要应用:“Gaurantee spinlocks implicit barrier for !PREEMPT_COUNT”,这是在2013年四月作出
注意,每次代码运行“spin_unlock_”或“preemption_enable”的时候,抢先可能会引发。无论什么时候异常返回或中断返回都是如此。除了这些案例和类似情况之外,不应该有其他问题。内核设计保证异常和中断以严格嵌入的方式进行处理,但使用SMP多个实例可以并行运行。
相关问题
- 1. 关于先发制人和非先发制人的内核
- 2. cpumask如何影响linux内核中其他进程的调度?
- 3. NOHZ = On如何影响linux内核中的do_timer
- 4. 什么可以影响linux内核的最终版本
- 5. 非预先Linux内核上的spin_lock
- 6. LINUX VS BSD内核开发
- 7. 如何制作Linux内核
- 8. Linux内核响应当在多个内核的多个高优先级线程运行
- 9. 其他内核的Linux内核模块开发编译
- 10. 设置Netbeans/Eclipse的Linux内核开发
- 11. qemu中的x86 linux内核开发
- 12. 什么引发的linux内核模块
- 13. linux内核的config.h
- 14. Linux内核函数和内核模块开发
- 15. Linux内核模块的编译的先决条件
- 16. Linux内核开发首选编辑器
- 17. 使用KVM进行Linux内核开发
- 18. 当RT_PREEMPT补丁发布Linux内核4.11
- 19. Linux网络内核
- 20. asm__volatile()在Linux内核
- 21. 配置Linux内核
- 22. setscheduler()在Linux内核
- 23. glib和linux内核
- 24. Linux内核调试
- 25. Linux内核调度
- 26. 构建Linux内核
- 27. Linux内核调度
- 28. Linux内核编程
- 29. 什么是自愿先发制人?
- 30. 关于将数据复制到Linux内核或从Linux内核复制数据的问题