在同一个项目中使用2个不同的调度策略

时间:2012-02-27 05:08:48

标签: linux-kernel posix scheduling posix-api

在嵌入式项目中,我们在决定使用哪个调度策略时遇到困难。对于要通过的某些测试用例,我们需要使用SCHED_OTHER,对于其他一些测试用例,我们需要使用SCHED_RR 。但是,如果我们为某个任务设置SCHED_RR并将其作为SCHED_OTHER,则所有测试用例都会通过。它是否合法,是否在同一项目中使用这两个策略会产生任何额外的副作用?

1 个答案:

答案 0 :(得分:0)

我假设你在谈论Linux?然后是的,使用SCHED_RR运行某些任务并使用SCHED_OTHER运行其他任务是完全可以接受的。

请注意,SCHED_RR任务总是在SCHED_OTHER任务之前运行。因此,如果将任务设置为SCHED_RR,那么测试运行效果就不足为奇了。需要注意的是,您的SCHED_RR任务可能会使用100%的CPU,并使SCHED_OTHER任务匮乏。当你说某些输入被丢弃时,可能会发生这种情况。

迈克尔