第 16 章 内核
以下章节包含 RHEL 9 和 RHEL 10 之间内核的最显著更改。
16.1. 内核的显著变化 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
sched_ext 调度程序
,用于创建自定义调度程序
在 RHEL 10 中,使用 sched_ext
,您可以在运行时在扩展 Berkeley Packet Filter (eBPF)中创建自定义进程调度代码。sched_ext
调度程序允许您将标准内核调度程序替换为您自己的调度逻辑,以控制进程优先级、资源分配和执行行为。
请注意,红帽不对自定义调度程序提供支持。
CFS 被 EEVDF 调度程序替代
完全公平调度程序(CFS)被一个新的调度程序替代,增强 Earliest Deadline First (EEVDF)。这包括以下更改:
-
sched_min_granularity
现在是sched_base_slice
,它使用相同的单元。 EEVDF 中未使用
sched_wakeup_granularity
,因此它已被删除。- sched_base_slice
- 定义任务可以运行的最短时间。
- sched_wakeup_granularity
- 为 CPU 上所有任务设置基准优先级(作为 CPU 的比例)。
CFS 和 EEVDF 在大多数情况下提供类似的工作负载结果。但是,性能上的微小变化可能会观察到,因为每个任务选择的逻辑都不同。