週五晚上作為“徵求意見”發出的是英特爾的一個新補丁系列,它為 Linux 內核引入了“任務類別”的概念,以便調度程序可以在混合處理器上做出更好的決策,比如英特爾的Alder Lake 處理器和即將推出的 Raptor Lake。這也為 Linux 提供了更完整的 Intel Thread Director 實現,也可以作為性能和高效內核之間指令集差異的基礎。
昨晚發出的 23 個補丁集在引入負載平衡任務類別概念的保護傘下。這建立在現有的英特爾 Linux 在硬件反饋接口上的工作以及英特爾在過去一年中率先進行的其他更改的基礎上,以使 Linux 內核更適合他們的混合處理器。
補丁系列的求職信總結如下:
在混合處理器上,不同類型 CPU 的微架構屬性導致它們具有不同的每週期指令( IPC) 能力。對於高級指令,某些 CPU 上的 IPC 可能更高。
…
負載平衡器可以發現高級指令的使用,並優先選擇具有更高 IPC 的 CPU 來執行運行這些指令的任務。硬件可以自由地將其指令集劃分為任意數量的類。它必須提供一種機制來識別當前正在運行的任務的類別,並告知內核每種任務在每種類型的 CPU 上的性能。
這個補丁集引入了任務類的概念,提出了硬件需要實現的接口,並提出了對負載均衡器的更改,以利用這些額外的信息與非對稱打包相結合。
此補丁集包含使用 Intel Thread Director 技術的 Intel 混合處理器的完整實現。
自從 Alder Lake 發布以來,我們已經看到 Intel 對以下方面進行了許多改進Linux 用於確保內核更好地處理混合處理器設計,而現在我們才看到這種“完整的”線程控制器實現,包括最終將“英特爾線程控制器”作為 Kconfig 內核選項公開。
這項工作對於確保預期的高性能任務實際上放置在 P 內核上非常重要,而不太重要的工作類別可以在 E 內核上進行。基於這種“任務類別”的工作也可能證明對未來的英特爾 CPU 代至關重要,因為 P/E 內核之間可能存在更多指令集差異,例如 AVX-512 或其他高級指令是否要回歸 P 內核在混合配置中。 Alder Lake 在 Linux 上運行良好,尤其是今年的內核版本已經獲得/向後移植了各種改進,所以看看這個新的大型補丁系列對當前的 ADL 處理器有多大的好處,或者它是否真的如此,將會很有趣。 Raptor Lake 甚至 Meteor Lake 帶來的 Thread Director 改進更加緊迫。
看看這個新的補丁系列 為榿木湖出局。一旦補丁工作進一步穩定下來,我一定會在我的一些盒子上嘗試一下。儘管考慮到它現在才發布並且處於“RFC”標誌下,而 v6.1 合併窗口只有幾週的時間,但這個補丁系列很可能要到 2023 年才能為 Linux 內核版本做好準備。