# Kernel Scheduler Internals 隨筆 ## 圖解 RSDL? > https://lwn.net/Articles/224865/ ### 實做 - 行程進入目標 優先級層執行,直到: - 行程用完自己的 quota,被 preempt到expired array上自己初始的優先級 - 優先級層層的總 quota耗盡,整層的 行程es被降到下一個優先級層 (minor rotation,R**S**DL中的下階梯) - 執行結束 - 當所有 行程es在最低層被降級(minor rotation),則做一次 major rotation,將expired array和active array對調 - 或當 active array清空時,換expired array被執行 - 個別 優先級層內做 round-robin ### 原理 - interactive 行程 (時常在sleep/高nice) 會比較慢用完 quota,能長時間在高 優先級層 - minor和 major rotations保證所有行程不會餓死 ## CFS > https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt ## MuQSS > https://raw.githubusercontent.com/ckolivas/linux/4.8-ck/Documentation/scheduler/sched-MuQSS.txt - 用於 linux-ck和 zen-kernel ### Case Study of Zen Kernel? ## NUMA/Memory-aware scheduling..? > https://netflixtechblog.com/predictive-cpu-isolation-of-containers-at-netflix-91f014d856c7 > https://lwn.net/Articles/486858/