我想知道如何将 SCHED_RR 的 POSIX 线程优先级范围增加到 1-99 以上。我调用了 sched_get_priority_min 和 sched_get_priority_max 来验证 SCHED_RR 的 1-99 范围,但我正在移植为另一个使用更多优先级的操作系统编写的代码。我希望每个线程具有相同的相对优先级,但不想强制线程在它们应该不同时共享相同的优先级。
问问题
522 次
1 回答
0
您可能已经阅读过它们,但手册页似乎足够清晰:
调度优先级的范围在其他 POSIX 系统上可能有所不同,因此可移植应用程序使用虚拟优先级范围并将其映射到 sched_get_priority_max() 和 sched_get_priority_min() 给出的间隔是一个好主意。POSIX.1-2001 要求 SCHED_FIFO 和 SCHED_RR 的最大值和最小值之间的差值至少为 32。
我相当怀疑是否有一个旋钮可以改变这一点,所以我的猜测是你要么改变内核,要么按照建议调整优先级。坦率地说,我不得不怀疑超过 99 个优先级在实际性能中是否真的相当于一堆豆子。
于 2011-04-17T18:07:59.853 回答