今天早上為 Linux 6.3 發送的是 Linux CPU 調度程序修復程序,用於處理自 2019 年底調度程序返工以來主線內核中一直存在的不平衡問題。
Linaro 的 Vincent Guittot 發送了 修復 處理不平衡溢出問題。 Vincent 解釋說,“當本地組完全繁忙但其平均負載高於系統負載時,計算不平衡將溢出,本地組不是拉動此負載的最佳目標。”
自 2019 年 10 月以來,該問題一直存在於主線內核中。雖然修復來自 Linaro 工程師,但該問題是在 Intel Xeon Scalable Sapphire Rapids 上發現的服務器。 郵件列表帖子進一步概述了這個問題到整數溢出錯誤:
“該算法旨在將一些任務從最繁忙的組拉到本地組。但是當兩個組都超載或將超載時,該算法不想將本地推組高於 sched 域的平均負載。但是,在某些情況下,不平衡的計算可能是錯誤的,導致無意義的遷移,甚至放大不平衡。”
修復已於今天上午作為在今天晚些時候發布 Linux 6.3-rc7 內核之前安排/緊急拉取。解決方法是,如果本地組的負載超過平均係統負載,則不要嘗試從本地組中拉出任何任務。一旦被主線採用,它也應該被反向移植到最近的穩定 Linux 內核版本。