【導讀】Linux 5.3正式版,引入對AMD Navi GPU的支持; 支持兆芯 x86 CPU; 支持umwait x86指令,讓進程在沒有旋轉循環的情況下等待很短的時間; “利用率鉗制”機制,用于提高電話中使用的電源非對稱CPU的交互性;提供了0.0.0.0/8范圍內的1600萬個新IPv4地址。
Linux 5.3正式版終于來了!
作為數據科學、機器學習的工具,Linux有著非常廣泛的應用場景。其完全開放、高度可定制化的屬性,使得用戶可以用非常低的成本搭建所需的工作環境,同時安裝依賴的時候也非常方便,直接一條命令就安裝好了。
本次的版本更新主要包括以下內容:對AMD Navi GPU的支持; 支持umwait x86指令,讓進程在沒有旋轉循環的情況下等待很短的時間; “利用率鉗制”機制,用于提高電話中使用的電源非對稱CPU的交互性; 一個新的pidfd_open(2)系統調用,它完成了讓用戶處理PID重用問題的工作; 提供了0.0.0.0/8范圍內的1600萬個新IPv4地址; 支持兆芯 x86 CPU; 支持Intel Speed Select,以便在Xeon服務器中更輕松地選擇電源; 并支持輕量級管理程序ACRN,專為嵌入式物聯網設備而構建。與往常一樣,還有許多其他新的驅動因素和改進。
在詳細介紹以上特性之前,我們要著重介紹一下兆芯 CPU。這是由上海兆芯集成電路有限公司(英語:Shanghai Zhaoxin Semiconductor Co., Ltd.)所設計的通用中央處理器,有時也指該公司生產的其他芯片。CPU采用x86指令集架構,當前已有多款產品,包括:開先ZX-A系列、開先ZX-C系列、開先ZX-C+系列、開勝ZX-C+系列、開勝KH-20000系列、開先KX-5000系列、開先KX-6000系列等。
接下來我們就來詳細看一下新版本都更新了哪些超級酷的特性吧:
新的'pidfd'功能將幫助服務管理器處理PID重用問題
為了解決Unix系統中PID重用的問題,Linux 5.1添加了pidfd_send_signal(2),它允許進程將信號發送到“pidfd”句柄,即使在PID重用之后也是穩定的。
Linux 5.2將CLONE_PIDFD添加到clone(2),后者允許用戶創建可與pidfd_send_signal(2)一起使用的PID。但是有許多進程使用fork或clone創建沒有CLONE_PIDFD,這可能會導致Android的低內存殺手(LMK)或服務管理器(如systemd)出現問題。
為了完成處理PID重用問題所需的功能,此版本添加了pidfd_open(2)系統調用:它允許調用者為使用CLONE_PIDFD clone(2)標志未創建的進程檢索可輪詢pidfd。
此外,此版本還增加了對pidfds的支持。這允許流程管理器知道(非父)流程何時以無競爭方式死亡。使用的通知機制遵循當任務的父級被通知孩子死亡時當前使用的相同邏輯。使用此補丁集,可以將pidfds置于{e}輪詢循環中,并獲得進程(即線程組)退出的可靠通知。
推薦的LWN文章:新的系統調用:pidfd_open和close_range
任務調度程序中的利用率限制支持
此版本為任務計劃程序添加了利用率限制支持。這是對Linux 5.0中添加的功率非對稱系統(如ARM big.LITTLE)的能量感知調度框架的改進。
利用率鉗位是一種允許強制執行最小和/或最大頻率范圍的機制,具體取決于CPU上當前處于活動狀態的任務。
utilization clamping主要用例是:a)通過至少以“請求”頻率運行來直接影響用戶體驗的增強任務;b)通過僅運行它們來限制不直接影響用戶體驗的低優先級任務達到最大“允許”頻率。可以通過sched_setattr(2)設置每個任務clamping屬性,此功能可以讓Android免去需要額外hack的麻煩。
支持AMD Navi GPU
此版本增加了對amdgpu驅動程序中AMD Navi GPU的初始支持,這些是剛剛推出的新型AMD RX5700 GPU。此次發布增加了對核心驅動程序,顯示器(DCN2),GFX和計算(GFX10),系統DMA(SDMA 5),多媒體解碼和編碼(VCN2)以及電源管理的支持。
支持Zhaoxin x86 CPU
此版本增加了對Zhaoxin x86處理器的支持,ZX系列處理器的架構是威盛Centaur Technology x86-64 Isaiah設計的延續。威盛是臺灣的集成電路設計公司,主要生產主板的芯片組、中央處理器以及圖形處理器。主要在研發晶圓,然后外包給晶圓廠(例如臺積電)代工。
支持Intel Speed Select,以便更輕松地進行功率調整
此版本增加了對Intel Speed Select的支持,這是僅在特定Xeon服務器上支持的功能。它是一種電源管理技術,允許用戶配置其服務器以實現吞吐量和每核心性能設置,從而通過犧牲其他核心的性能來確定在特定核心上運行的某些工作負載的性能優先級。
使用umwait x86指令等待高效的用戶空間
如果一個應用程序需要等待非常短的時間,它們必須有一個旋轉循環,這會消耗功率并損壞其線程中的線程兄弟與超線程。此版本允許用戶空間使用三條新指令,這些指令將添加到即將推出的英特爾“Tremont”芯片中,包括umonitor,umwait和tpause,它們讓用戶空間進程在沒有旋轉循環的情況下等待很短的時間,從而讓應用程序能夠進行那些短時間等待,而不會影響其他超線程的性能。
1600百萬個新的IPv4地址
此版本包含一個微不足道但卻有影響的變化:Linux將接受0.0.0.0/8 IPv4范圍(盡管未在標準中聲明)作為有效地址范圍,從而新增了1600萬個新IPv4地址。
添加IoT ACRN supervisor
此版本增加了對ACRN管理程序的支持。ACRN是一款靈活,輕量級的參考虛擬機管理程序,在構建時充分考慮了實時性和安全性,并通過開源平臺優化了嵌入式開發。它專為嵌入式物聯網而構建,具有小尺寸和實時功能。
更多細節:
https://projectacrn.org/
官方地址:
https://kernelnewbies.org/Linux_5.3
來源 | 新智元