【導(dǎo)讀】Linux 5.3正式版,引入對AMD Navi GPU的支持; 支持兆芯 x86 CPU; 支持umwait x86指令,讓進(jìn)程在沒有旋轉(zhuǎn)循環(huán)的情況下等待很短的時間; “利用率鉗制”機(jī)制,用于提高電話中使用的電源非對稱CPU的交互性;提供了0.0.0.0/8范圍內(nèi)的1600萬個新IPv4地址。
Linux 5.3正式版終于來了!
作為數(shù)據(jù)科學(xué)、機(jī)器學(xué)習(xí)的工具,Linux有著非常廣泛的應(yīng)用場景。其完全開放、高度可定制化的屬性,使得用戶可以用非常低的成本搭建所需的工作環(huán)境,同時安裝依賴的時候也非常方便,直接一條命令就安裝好了。
本次的版本更新主要包括以下內(nèi)容:對AMD Navi GPU的支持; 支持umwait x86指令,讓進(jìn)程在沒有旋轉(zhuǎn)循環(huán)的情況下等待很短的時間; “利用率鉗制”機(jī)制,用于提高電話中使用的電源非對稱CPU的交互性; 一個新的pidfd_open(2)系統(tǒng)調(diào)用,它完成了讓用戶處理PID重用問題的工作; 提供了0.0.0.0/8范圍內(nèi)的1600萬個新IPv4地址; 支持兆芯 x86 CPU; 支持Intel Speed Select,以便在Xeon服務(wù)器中更輕松地選擇電源; 并支持輕量級管理程序ACRN,專為嵌入式物聯(lián)網(wǎng)設(shè)備而構(gòu)建。與往常一樣,還有許多其他新的驅(qū)動因素和改進(jìn)。
在詳細(xì)介紹以上特性之前,我們要著重介紹一下兆芯 CPU。這是由上海兆芯集成電路有限公司(英語:Shanghai Zhaoxin Semiconductor Co., Ltd.)所設(shè)計(jì)的通用中央處理器,有時也指該公司生產(chǎn)的其他芯片。CPU采用x86指令集架構(gòu),當(dāng)前已有多款產(chǎn)品,包括:開先ZX-A系列、開先ZX-C系列、開先ZX-C+系列、開勝ZX-C+系列、開勝KH-20000系列、開先KX-5000系列、開先KX-6000系列等。
接下來我們就來詳細(xì)看一下新版本都更新了哪些超級酷的特性吧:

新的'pidfd'功能將幫助服務(wù)管理器處理PID重用問題
為了解決Unix系統(tǒng)中PID重用的問題,Linux 5.1添加了pidfd_send_signal(2),它允許進(jìn)程將信號發(fā)送到“pidfd”句柄,即使在PID重用之后也是穩(wěn)定的。
Linux 5.2將CLONE_PIDFD添加到clone(2),后者允許用戶創(chuàng)建可與pidfd_send_signal(2)一起使用的PID。但是有許多進(jìn)程使用fork或clone創(chuàng)建沒有CLONE_PIDFD,這可能會導(dǎo)致Android的低內(nèi)存殺手(LMK)或服務(wù)管理器(如systemd)出現(xiàn)問題。
為了完成處理PID重用問題所需的功能,此版本添加了pidfd_open(2)系統(tǒng)調(diào)用:它允許調(diào)用者為使用CLONE_PIDFD clone(2)標(biāo)志未創(chuàng)建的進(jìn)程檢索可輪詢pidfd。
此外,此版本還增加了對pidfds的支持。這允許流程管理器知道(非父)流程何時以無競爭方式死亡。使用的通知機(jī)制遵循當(dāng)任務(wù)的父級被通知孩子死亡時當(dāng)前使用的相同邏輯。使用此補(bǔ)丁集,可以將pidfds置于{e}輪詢循環(huán)中,并獲得進(jìn)程(即線程組)退出的可靠通知。
推薦的LWN文章:新的系統(tǒng)調(diào)用:pidfd_open和close_range
任務(wù)調(diào)度程序中的利用率限制支持
此版本為任務(wù)計(jì)劃程序添加了利用率限制支持。這是對Linux 5.0中添加的功率非對稱系統(tǒng)(如ARM big.LITTLE)的能量感知調(diào)度框架的改進(jìn)。
利用率鉗位是一種允許強(qiáng)制執(zhí)行最小和/或最大頻率范圍的機(jī)制,具體取決于CPU上當(dāng)前處于活動狀態(tài)的任務(wù)。
utilization clamping主要用例是:a)通過至少以“請求”頻率運(yùn)行來直接影響用戶體驗(yàn)的增強(qiáng)任務(wù);b)通過僅運(yùn)行它們來限制不直接影響用戶體驗(yàn)的低優(yōu)先級任務(wù)達(dá)到最大“允許”頻率。可以通過sched_setattr(2)設(shè)置每個任務(wù)clamping屬性,此功能可以讓Android免去需要額外hack的麻煩。
支持AMD Navi GPU
此版本增加了對amdgpu驅(qū)動程序中AMD Navi GPU的初始支持,這些是剛剛推出的新型AMD RX5700 GPU。此次發(fā)布增加了對核心驅(qū)動程序,顯示器(DCN2),GFX和計(jì)算(GFX10),系統(tǒng)DMA(SDMA 5),多媒體解碼和編碼(VCN2)以及電源管理的支持。
支持Zhaoxin x86 CPU
此版本增加了對Zhaoxin x86處理器的支持,ZX系列處理器的架構(gòu)是威盛Centaur Technology x86-64 Isaiah設(shè)計(jì)的延續(xù)。威盛是臺灣的集成電路設(shè)計(jì)公司,主要生產(chǎn)主板的芯片組、中央處理器以及圖形處理器。主要在研發(fā)晶圓,然后外包給晶圓廠(例如臺積電)代工。
支持Intel Speed Select,以便更輕松地進(jìn)行功率調(diào)整
此版本增加了對Intel Speed Select的支持,這是僅在特定Xeon服務(wù)器上支持的功能。它是一種電源管理技術(shù),允許用戶配置其服務(wù)器以實(shí)現(xiàn)吞吐量和每核心性能設(shè)置,從而通過犧牲其他核心的性能來確定在特定核心上運(yùn)行的某些工作負(fù)載的性能優(yōu)先級。
使用umwait x86指令等待高效的用戶空間
如果一個應(yīng)用程序需要等待非常短的時間,它們必須有一個旋轉(zhuǎn)循環(huán),這會消耗功率并損壞其線程中的線程兄弟與超線程。此版本允許用戶空間使用三條新指令,這些指令將添加到即將推出的英特爾“Tremont”芯片中,包括umonitor,umwait和tpause,它們讓用戶空間進(jìn)程在沒有旋轉(zhuǎn)循環(huán)的情況下等待很短的時間,從而讓應(yīng)用程序能夠進(jìn)行那些短時間等待,而不會影響其他超線程的性能。
1600百萬個新的IPv4地址
此版本包含一個微不足道但卻有影響的變化:Linux將接受0.0.0.0/8 IPv4范圍(盡管未在標(biāo)準(zhǔn)中聲明)作為有效地址范圍,從而新增了1600萬個新IPv4地址。
添加IoT ACRN supervisor
此版本增加了對ACRN管理程序的支持。ACRN是一款靈活,輕量級的參考虛擬機(jī)管理程序,在構(gòu)建時充分考慮了實(shí)時性和安全性,并通過開源平臺優(yōu)化了嵌入式開發(fā)。它專為嵌入式物聯(lián)網(wǎng)而構(gòu)建,具有小尺寸和實(shí)時功能。
更多細(xì)節(jié):
https://projectacrn.org/
官方地址:
https://kernelnewbies.org/Linux_5.3
來源 | 新智元