通往懒惰抢占的漫长道路

2024-10-19

Linux内核的CPU调度器目前提供了几种抢占模式,在系统吞吐量和响应时间之间取得平衡。2023年9月,关于调度的讨论引发了“懒惰抢占”的概念,它可以简化内核中的调度,同时提供更好的结果。懒惰抢占模式引入了一个新的标志TIF_NEED_RESCHED_LAZY,用于指示需要在某个时刻进行重新调度,但不一定马上进行。此模式下,大多数内核事件不会导致当前任务被抢占,从而提高了系统吞吐量。同时,它仍然允许在真正需要的时候(例如实时任务变得可运行)快速进行抢占。懒惰抢占的目标是最终用PREEMPT_LAZY和PREEMPT_FULL两种非实时模式取代现有的四种模式,并移除大量的cond_resched()调用,从而使内核更小、更简单,并在不需要在代码中添加大量调度相关调用的情况下提供可预测的延迟。

27
未分类 懒惰抢占