1. 程式人生 > >Linux 4.14亮點特性

Linux 4.14亮點特性

1.支援更大的記憶體
原始x86-64平臺受限於4級分頁的限制,最大支援256TiB的虛擬地址空間和64TiB的實體地址空間。現在我們已經碰到了這個限制:一些供應商現在開始提供64TiB記憶體的伺服器。因此核心x86平臺支援5級分頁,突破了128PiB虛擬地址空間和4PiB實體地址空間的限制,This “ought to be enough for anybody”。
詳情:https://lwn.net/Articles/717293/

2.新增AMD安全記憶體加密功能
安全記憶體加密技術可以通過頁表將記憶體頁加密。標記為加密的記憶體頁面在從DRAM讀取時會自動解密,並在寫入DRAM時自動加密。因此,安全記憶體加密技術可用於保護DRAM的物理內容免受來自系統的攻擊。
詳情:

https://lwn.net/Articles/686808/#sme

3.ORC unwinder更好地核心跟蹤器
“unwinder“,指列印已經執行的函式列表(棧資訊,呼叫圖,呼叫棧)。核心雖然有一個unwinder並且執行良好,但是它一般都不可靠,會導致功能問題。同時它還需要”frame pointers“(CONFIG_FRAME_POINTERS)來列印完整的呼叫棧,這使得GCC向核心每個函式新增檢測程式碼,核心可執行程式碼大小增加約3.2%。並且在工作負載比較大的情況下會降低核心的效能。
相比之下,ORC unwinder不需要任何地方插入程式碼,因此不會影響核心執行效能。
詳情:

https://lwn.net/Articles/728339/
http://www.codeblueprint.co.uk/2017/07/31/the-orc-unwinder.html

4.Btrfs和Squashfs支援zstd壓縮方式
zstd壓縮方式在壓縮速度和質量之前有更好的表現,它接近lz4的壓縮速度,並且質量接近lzma。zstd解壓縮的速度是zlib的兩倍以上。
詳情:https://github.com/facebook/zstd

6.支援非同步緩衝I/O
此版本中preadv2(2)加入RWF_NONBLOCK標誌,允許使用者空間應用程式繞過執行緒池的佇列操作,從而緩解緩衝I/O的阻塞。

7.增強SMP和cpufreq之間協調
在Linux中,任務排程事件通知到cpufreq子系統,cpufreq可以在任務需要時增加頻率,並實現良好的互動性。但是,當排程發生在不同的CPU時,不會呼叫到cpufreq,例如在另一個CPU中建立新程序時。此版本使任務排程可以通知到遠端CPU的cpufreq子系統。
詳情:

https://lwn.net/Articles/732740/

8.CGroup支援執行緒模式
此版本中,cgroup v2支援執行緒模式,以支援某些程序的執行緒需要跨組分發資源。預設情況下,程序的所有執行緒都屬於同一個cgroup,該cgroup看做管理資源的資源域。但執行緒模式允許執行緒分佈在子樹的同時仍然共享資源。
詳情:https://lwn.net/Articles/729215/
這裡寫圖片描述