去年在 Linux 6.13 中引入的是惰性抢占 “PREEMPT_LAZY”,用于抢占模型,该模型类似于完全抢占,但不太急于抢占正常的调度程序任务,以提供自愿抢占的一些性能优势。在最初支持 x86_64 和 RISC-V 之后,Linux 6.16 似乎将在 ARM64 (AArch64) 上支持延迟抢占。
惰性抢占在原始补丁中总结为:
“惰性抢占将延迟公平类的抢占,但将作为所有其他类的完全抢占,尤其是实时 (RR/FIFO/DEADLINE) 类。
我们的目标是弥合与 Voluntary 的性能差距,这样我们最终可能会完全取消该选项。
在最初PREEMPT_LAZY合并 x86_64 和 RISC-V 支持之后,LoongArch 支持也随之实现,随后是 POWER CPU。现在,ARM64 支持看起来终于可以合并到下一个 Linux 内核合并窗口了。

上周排队进入 ARM64 的“for-next/entry”Git 分支的是 arm64:enable PREEMPT_LAZY现在它已经进入 ARM64 的“for-next”Git 分支之一,它应该有望被提交到即将到来的 Linux 6.16 合并窗口,除非代码中出现任何问题。只需修改大约 20 行代码即可在 ARM64 上PREEMPT_LAZY。
转自 ARM64 Expected To Support Lazy Preemption “PREEMPT_LAZY” With Linux 6.16 – Phoronix
Linuxeden开源社区