早在去年 8 月,就有英特爾補丁通過避免在 SMT 域內進行不必要的任務遷移來幫助英特爾混合 CPU 在 Linux 上處理。今年夏天,這些英特爾補丁最終將與 Linux 6.5 內核週期一起發布。

自去年 8 月以來,英特爾對 Linux 內核調度程序的補丁不斷完善,以幫助處理帶有 SMT/超線程的英特爾混合 CPU。原始補丁解釋了現有的 Linux 內核問題:

“支持 Intel Turbo Boost Max 3.0 的 Intel 處理器使用 asym_packing 為具有更高最大頻率的 CPU 分配更高的優先級。然而,它人為地分配,對編號較高的 SMT 兄弟項設置較低的優先級,以確保它們最後被使用。

這會導致 SMT 域內不必要的任務遷移。

在具有更高頻率 SMT 內核的混合處理器上和較低頻率的非 SMT 內核(例如英特爾混合處理器),如果多個 SMT 兄弟正忙,則優先級較低的 CPU 會從優先級較高的內核中提取任務。”

自從 Raptor Lake 的原始補丁也發布以來,它花了幾個月的時間,但在至少對於 Linux 6.5,這些補丁有望最終落地。截至今天,補丁已排隊到 TIP 的 sched/core Git 分支中,將其標記為應該在 7 月初啟動的 v6.5 內核週期的材料,但要到 8 月中下旬才能看到穩定的內核版本。

隨著 4 月份的 v4 補丁排入 TIP 的 sched/core 分支,也為更好地處理 Meteor Lake 做好了準備。與 Alder Lake 和 Raptor Lake 相比,Meteor Lake 需要對其“不同最大頻率的 CPU 在多個芯片中進行特殊處理”。
用超線程對某些 Intel 混合 CPU 進行基準測試,看看最終會產生什麼樣的性能影響,這將很有趣……敬請期待。

Categories: IT Info