我正在开发一个多进程应用程序,它运行在运行linux 3.0.35的iMX6四核CPU上。 我正在运行的其中一个进程/线程需要比其他进程/线程更高的优先级。
所以我对那个线程使用SCHED_FIFO,为其他线程使用SCHED_OTHER。
虽然机器负载很重,但我注意到以下情况(使用DS5 Streamline分析工具):
我正在寻找理解这意味着什么的方法 - linux调度程序是否应该在被抢出CPU x之后给予抢占线程CPU时间? - 即使有许多线程需要CPU时间,CPU如何空闲这么长时间?
我在看什么?
如果有帮助的话,我可以完全访问内核代码和一些更多的分析工具。
谢谢, 奥弗