正在開發(fā)中的Linux 5.10,看看有哪些大幅改進
01. 化XFS系統(tǒng)系統(tǒng) 修復(fù)“Year 2038”問題
在對 Btrfs 進行顯著優(yōu)化外,正在開發(fā)中的 Linux Kernel 5.10 還對 XFS 文件系統(tǒng)進行了大幅的改進。在 Linux 5.10 中,XFS 文件系統(tǒng)支持了兩項新的 on-disk meta-data 功能,其中包括
1.分配組中現(xiàn)在會記錄 inode btrees 的大小。
這樣做是為了增加冗余檢查,并允許更快的安裝時間。
2.現(xiàn)在最長支持至 2486 的時間戳。
這個“大時間戳”功能是對其時間戳和 inode 編碼功能進行重構(gòu),以將時間戳作為 64 位納秒計數(shù)器進行處理,并通過移位來增加有效大小。
現(xiàn)在,這使XFS可以很好地克服2038年的問題(在那里,以秒為單位存儲自1970年以來的時間將不再適合有符號的32位整數(shù),因此無法環(huán)繞)到現(xiàn)在的2486年。
使用以下命令創(chuàng)建新的XFS文件系統(tǒng):啟用bigtime允許的時間戳范圍是1901年12月至2486年7月,而不是1901年12月至2038年1月。為了保持向后兼容,默認(rèn)情況下當(dāng)前未啟用big timestamps功能。
除了磁盤上的元數(shù)據(jù)更改外,Linux 5.10的XFS還解決了在某些情況下,同步寫入實際上不會刷新到磁盤和其他修復(fù)程序的問題??赏ㄟ^此拉取請求找到Linux 5.10的初始XFS更改。預(yù)計在Linux 5.10合并窗口的未來幾天中,將具有XFS可伸縮性改進和其他更改的輔助請求。
02. 將繼續(xù)完善對英特爾Rocket Lake平臺的支持
在 Linux Kernel 5.9 中已經(jīng)初步支持明年 Rocket Lake 桌面平臺的第 12 代圖形處理器,并對像 RAPL 支持和其他 PCI ID 擴展提供早期的實驗支持。而后續(xù)的支持工作會在 Linux Kernel 5.10 中陸續(xù)推進和完善。
libata 驅(qū)動庫已經(jīng)著手添加 Rocket Lake PCH-H RAID PCI IDs。此外 Linux Kernel 5.10 的 platform-drivers-x86 開發(fā)工作中,已經(jīng)將 Rocket Lake 的支持添加到 intel_pmc_core 驅(qū)動中。
Linux Kernel 5.9 中的 DRM 代碼為現(xiàn)有的 Gen12 代碼構(gòu)建了對 Rocket Lake 的初步支持,而在 Linux 5.10 中進行了必要的代碼改進,從而能夠正確地顯示硬件。此外其他一些 Rocket Lake PCI ID 正在添加中。
由于在CPU方面的Rocket Lake主要是被Willow Cove移植到14納米制程,并具有Gen12 Xe圖形,因此在大多數(shù)情況下,Rocket Lake Linux的實現(xiàn)是相當(dāng)簡單的,在大多數(shù)領(lǐng)域中,它們只是在構(gòu)建新的PCI ID脫離了現(xiàn)有的Tiger Lake代碼路徑和圖形方面的Gen12 / Xe,并進行了一些其他驅(qū)動程序級更改。
英特爾已經(jīng)表示,他們將在2021年第一季度末宣布 Rocket Lake。雖然完善的支持可能需要等到 5.11,但是在 5.10 中提供部分支持依然是個好消息。
03. 新的NTFS Linux內(nèi)核驅(qū)動修訂了九次 仍在審核中
在8月份的時候,Paragon軟件公司高調(diào)宣布,他們的NTFS讀寫驅(qū)動在作為商業(yè)驅(qū)動提供給那些需要在Linux上對微軟文件系統(tǒng)進行可靠支持的用戶多年后,將在Linux內(nèi)核中進行主線開發(fā)。兩個月后,他們已經(jīng)對這個驅(qū)動進行了第九次修訂,以爭取將其納入內(nèi)核主線。
在上游開發(fā)者提出一些最初的意見之后,Paragon很快就更新了他們的 "NTFS3"驅(qū)動補丁。他們繼續(xù)完善代碼,增加了額外的功能,修復(fù)了各種代碼問題,改進了代碼格式,處理了重新掛載文件系統(tǒng)等行為,并修復(fù)了壓縮文件操作中的問題。
周五,他們發(fā)出了第九個版本的驅(qū)動,增加了額外的代碼改進,最新的變化可以在內(nèi)核郵件列表中找到。
由于目前的內(nèi)核NTFS驅(qū)動主要集中在只支持讀的狀態(tài),根據(jù)進度預(yù)估,這個新驅(qū)動不會登陸Linux 5.10,但合并操作大概會在明年出現(xiàn)。
這是因Linux 5.10合并窗口已經(jīng)過了一半了,而這個NTFS3驅(qū)動的目標(biāo)是取代現(xiàn)有的驅(qū)動,這使得最初的主線變得更加復(fù)雜,因為需要允許兩個驅(qū)動都進入內(nèi)核樹一段時間,并且只允許一次編譯一個,并且上游維護者更愿意在合并這個新驅(qū)動時選擇多等等,直到它可以立即取代現(xiàn)有的NTFS支持代碼。
不管怎么說,至少這個Paragon的貢獻看起來已經(jīng)很成熟了,為的是在2021年有更好的Linux NTFS支持。
04. Linux 5.10帶來USB4支持
今年早些時候,Linux 5.6通過利用英特爾現(xiàn)有的Thunderbolt內(nèi)核支持帶來了最初形態(tài)的USB4支持,而更新的USB規(guī)范正是基于此。隨后的內(nèi)核繼續(xù)成熟USB4的實現(xiàn),這一點在Linux 5.10中得到了延續(xù)。
作為Linux 5.10的USB/PHY/Thunderbolt變化的一部分,包括更多的USB 4更新,主要是這個周期修復(fù)代碼中的一些低級問題,這項工作繼續(xù)由英特爾開源工程師主導(dǎo)。
內(nèi)核圍繞Tiger Lake也繼續(xù)進行了很多優(yōu)化Thunderbolt的工作,包括CM模式下的運行時電源管理、優(yōu)化強電邏輯、用于Thunderbolt調(diào)試的DebugFS接口等修復(fù)和改進。
早在Linux 5.9開發(fā)期間,最初的Tiger Lake Thunderbolt / USB4代碼就已經(jīng)落地,并在后續(xù)的內(nèi)核中進行了完善。
其它部分還包括對USB Type-C更新和PHY驅(qū)動程序的小工作,另一個值得注意的補充是對英特爾Lightning Mountain SoC的USB 3 PHY支持。
05. 眾多網(wǎng)絡(luò)通信方面的改進正來到Linux 5.10
與大多數(shù)內(nèi)核周期一樣,Linux 5.10 有大量的網(wǎng)絡(luò)改進,從擴大的設(shè)備驅(qū)動覆蓋范圍到新的核心網(wǎng)絡(luò)特性,以及繼續(xù)推進 (e)BPF 等,這段時間的工作尤其繁忙。在Linux 5.10中,這些工作包括:
- 支持BPF程序與內(nèi)核一起運送,并在啟動時通過用戶模式驅(qū)動機制提前加載它們?,F(xiàn)在還支持可睡眠的 BPF 程序和其他 BPF 增強功能。
- 內(nèi)核現(xiàn)在允許超過 255 個 IPv4 多播接口。
- 繼續(xù)改進多路徑 TCP (MPTCP) 代碼。
- 對Intel IGB驅(qū)動程序的XDP支持。
- Ath11k WiFi驅(qū)動現(xiàn)在支持QCA6390和IPQ6018芯片組。
- Mellanox網(wǎng)卡對于不需要太多卸載的數(shù)據(jù)包可以看到高達20%的性能提升。THis優(yōu)化可允許多個數(shù)據(jù)包共享一個描述符條目。
- 一個新的BPF助手可以幫助改善TCP背壓,并幫助限制堆棧遍歷。在一個開發(fā)者的測試中,在他的配置中,容器和主機之間的虛擬以太網(wǎng)驅(qū)動程序的TCP流速從10 Gbps左右提高到15 Gbps。
- 支持Mediatek MT76芯片的Wi-Fi改進。
- 迎來對Broadcom 200G芯片的以太網(wǎng)支持。
需要了解更多關(guān)于Linux 5.10網(wǎng)絡(luò)變化的細節(jié),您可以關(guān)注這個Git合并(https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9ff9b0d392ea08090cd1780fb196f36dbb586529)。