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

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