向内核添加新的调度策略

向内核添加新的调度策略

我正在使用 redhat 8 linux,我想添加新的策略来调度进程,您能帮我吗:
1)在哪里定义新策略
2)为进程分配策略的过程如何进行?

详细说明函数名称和结构将会很有帮助。

答案1

你指的是Red Hat 版本 8.0运行 2.4 系列内核???该版本早在 2003 年或 2004 年就停产了。根据帖子第一条评论中提供的链接,我认为 2.6.x 之前的任何内核都没有实时调度策略。

编辑:使用的内核实际上是 2.6.x 内核。使其工作所需的命令是chrt。在这种情况下,需要将其反向移植或从头编译为 Red Hat 8.0 服务器。我怀疑您在这样做时会遇到其他问题,但对于其他偶然发现此问题的人来说,chrt允许这样做。

从手册页中:

NAME
       chrt - manipulate real-time attributes of a process

SYNOPSIS
       chrt [options] [prio] [pid | command [arg]...]

DESCRIPTION
       chrt(1)  sets or retrieves the real-time scheduling attributes of an existing PID or runs COMMAND
       with  the  given  attributes.   Both  policy  (one  of  SCHED_OTHER,  SCHED_FIFO,  SCHED_RR,   or
       SCHED_BATCH) and priority can be set and retrieved.

一个真实的例子:

# Set JSINIT processes for e-commerce to FIFO scheduler and realtime priority 75.
for i in `pgrep -f 'JSINIT\ I.*' | xargs`; do chrt -p -f 75 $i; done

相关内容