Linus Torvalds 發布了 Linux Kernel 6.4 RC1 供大家測試,該版本帶來了常規更新、更多 Rust 代碼以及跨模塊的變更。
自 Kernel 6.3 發布以來的兩周合併窗口已經關閉,Linus 在宣布發布時提到,這是一個相當正常的合併周期,Kernel 中的變化通常都是跨越驅動、架構更新、文件系統、網路、內存管理等各個模塊的常規變化,其中 AMD 佔據了主導地位。
但是如果你忽略這兩個「巨大但無趣」的變化,其他一切看起來都很正常。到處都有開發,只要讀者覺得「這很有趣」,它就很有趣。驅動程序、架構更新、文件系統、網路、內存管理等都有一些變化。
唯一沒有被納入的功能是 x86 影子棧代碼。這一方面可能有些不幸,因為當我在看 x86 問題時,它就進來了,所以我看了它一段時間,有足夠的保留意見,要求進行了幾個相當大的重新組織。
——Linus
話雖如此,讓我們來看看 Linux Kernel 6.4 中有哪些新變化。
Linux Kernel 6.4 (RC1):主要更新
CPU:AMD 和 Intel
經過大量的開發,AMD 在內核中引入了 5 級頁支持。這是 AMD IOMMU 驅動程序的一部分,如果處理器支持,將啟用 5 級頁表。使用 5 級頁表的原因是它大大增加了虛擬和物理地址空間的大小,這對於需要大量內存的場景非常有用。
Intel LAM (Large Address Memory) 支持現在已經可用,可以在 Kconfig 中啟用。這將允許內核使用比 48 位更大的地址空間。一些應用程序可能需要這種大的地址空間,例如虛擬化或某些科學計算工作負載。
CPU:SoC 和 ARM
ARM 有大量的更新,包括針對比特幣挖掘的 ARMv8.5 密碼指令集,以及對 NVIDIA Tegra210 的支持。
GPU
AMD 和 Intel GPU 驅動程序都有一些變化,包括改進的顯示和渲染性能,以及對新硬體的支持。NVIDIA 驅動程序沒有太多的變化,只有一些小的修復和改進。
存儲和文件系統
Btrfs 文件系統有一些修復和改進,包括對 RAID 5/6 的支持,以及對 NFS 共享的改進。EXT4 文件系統也有一些改進,包括對大文件系統的支持。
Rust 更新
Rust 代碼在 Kernel 中的使用越來越普遍,Kernel 6.4 中也不例外。有大量的 Rust 代碼被合併,主要是用於內核模塊的編寫。這些代碼包括 Rust 編寫的內核模塊 和內核代碼中的 Rust 代碼,以及 Rust 在內核中的一些實驗性使用。
少量與 Apple 相關的變化
Apple Silicon M1 處理器的支持得到了改進,並針對 macOS 操作系統進行了測試。這些變化主要是針對 Apple Silicon M1 處理器上的 EFI 引導和 ACPI 表格。這些變化將有助於在 M1 處理器上運行 Linux 發行版。
下載 Linux Kernel 6.4 RC1 源代碼
您可以從 kernel.org 下載 Linux Kernel 6.4 RC1 的源代碼,也可以通過 Git 倉庫進行獲取。如果您使用的是 Git 倉庫,請使用以下命令:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
您也可以從 Github 頁面 獲取源代碼。
如果您想測試最新的內核版本,可以嘗試下載並編譯 Linux Kernel 6.4 RC1。請注意,這是一個開發版本,可能會包含一些問題和錯誤。因此,不建議在生產環境中使用它。