在从事嵌入式项目时;在将调度策略从 更改为 期间,SCHED_OTHER
我SCHED_RR
遇到了计时器问题和流加载延迟。有些问题不是在期间出现SCHED_OTHER
而是到达SCHED_RR
(循环)。
更改调度策略会产生什么影响。在政策变更期间在嵌入式项目中实现内核模块时需要注意什么?
SCHED_RR 带有时间片,因此如果进程完成时间片,则下一个进程将开启。如果您的时间片足够大,那么短的 IO 进程将比 Cpu 处于劣势,因为 cpu 任务会在整个时间片内阻塞 CPU。但是请注意,如果您减少时间片,您将获得更多的上下文切换,因此对于这个更高的责任会降低性能。我还提供了优先级。
SCHED_OTHER 与 RR 不同,因此不提供静态优先级。它有一个动态优先级,如果进程准备好运行但在等待队列中,它将增加。如果进程处于活动状态,它将被重置为 0。您还可以使用 nice 从 -20 到 19 缩放动态值(在 19 上,该过程很好并且更频繁地等待)
我主要在嵌入式系统中使用 SCHED_OTHER 和 SCHED_FIFO
最好的问候肯尼