主要观点:内核的 CPU 调度器有多种抢占模式,2023 年 9 月提出“懒抢占”概念,Peter Zijlstra 推出相关补丁系列。当前内核有四种抢占模式,高抢占级别能快速响应事件但会影响系统吞吐量和锁竞争。多数发行版默认 PREEMPT_VOLUNTARY 模式,PREEMPT_NONE 和 PREEMPT_VOLUNTARY 模式存在问题,如内核中大量工作导致延迟。懒抢占补丁通过添加 TIF_NEED_RESCHED_LAZY 标志,大部分事件不立即抢占,定时器滴答处理会检查该标志决定是否抢占,能在需要时快速抢占,且可在几乎所有时间启用内核抢占。最终目标是只有 PREEMPT_LAZY 和 PREEMPT_FULL 两种非实时模式,目前 cond_resched()调用仍存在,需检查和删除大量调用并进行性能测试。
关键信息:2023 年 9 月提出“懒抢占”;当前内核有四种抢占模式及特点;多数发行版默认模式;PREEMPT_NONE 和 PREEMPT_VOLUNTARY 模式的问题;懒抢占补丁的原理和效果;最终目标及当前现状。
重要细节:讨论调度的链接;不同抢占模式对系统的影响;内核中 cond_resched()调用的分布和问题;懒抢占补丁中标志的设置和作用;性能测试的开始及结果等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。