Linus Torvalds 在邮件列表中宣布了 Linux 内核 5.9 版本的发布。该版本包含多项新功能和改进,以及新的驱动程序和驱动程序更新。
Linux 5.9内核的开发大约在两个月前开始,当时Linus Torvalds宣布了第一个Release Candidate(RC)里程碑。 经过不少于八个RC之后,内核的最终版本现已发布,并且将在未来几周内交付一些最受欢迎的Linux发行版。
Linux 5.9 的优势在于:支持 Unicore 架构,支持用于编译 x86 内核的Zstandard 压缩(Zsdt),完全支持 io_uring 子系统中的异步缓冲区读取操作,此外还新增了一个救援选项,并对 Btrfs 文件系统进行了多项性能改进。
此外,它还支持 FSGSBASE x86 指令、 Deadline 调度器的容量支持、新的 sysctl 按钮、EXT4 和 F2FS 文件系统的内联加密支持,以及对 NVIDIA Tegra210 外部内存控制器和 Chrome OS 集成控制器调节器的支持。
此外,Linux 5.9 还引入了新的 close_range() 系统调用、对 Intel “Keem Bay” Movidius VPU 的支持、对并行冗余协议的支持、对 TCP 和 UDP 套接字上的 BPF 迭代器的支持、对 NFS 4.2 客户端的扩展属性的支持,以及将 schedutil 作为 ARM 和 AArch64 (ARM64) 架构的默认 CPU 频率调节器。
此外,它还重点介绍了对 ARM 板、设备和平台的新增支持: Pine64 PinePhone v1.2、联想 IdeaPad Duet 10.1、华硕 Google Nexus 7、宏碁 Iconia Tab A500、高通骁龙 SDM630(用于索尼 Xperia 10、10 Plus、XA2、XA2 Plus 和 XA2 Ultra)、Jetson Xavier NX、Amlogic WeTek Core2、Aspeed EthanolX、基于 NXP i.MX6 的五款新板、MikroTik RouterBoard 3011、小米 Libra、微软 Lumia 950、索尼 Xperia Z5、MStar、Microchip Sparx5、英特尔 Keem Bay、亚马逊 Alpine v3 和瑞萨 RZ/G2H。
对于 cgroup,我们实现了一种新的 slab 内存控制器,其显著特点是将 slab 的内存管理从内存页级别提升到内核对象级别。这使得不同 cgroup 之间可以共享 slab 页,而无需为每个 cgroup 分配单独的 slab 缓存。该方法提高了 slab 的使用效率,减少了 30%–45% 的 slab 内存占用,显著降低了内核整体内存消耗,并减少了内存碎片。
在图形性能改进方面,amdgpu 驱动程序新增了对 AMD Navi 21(Navy Flounder)和 Navi 22(Sienna Cichlid)GPU 的初始支持。此外,还为 Southern Islands GPU(Radeon HD 7000)添加了对 UVD/VCE 视频编码和解码加速引擎的支持。同时,还新增了屏幕旋转 90 度、180 度或 270 度的功能。
有趣的是,AMD GPU驱动程序是内核中最大的驱动程序-它包含大约2,71万行代码,大约占总内核大小(10万行)的27,81%。
同时,自动生成的头文件中有1.79万行,其中包含用于GPU寄存器的数据,而C代码为366万行(相比之下,英特尔i915控制器包括209万行和Nouveau-149万行)。
Nouveau驱动程序为 NVIDIA GPU 显示引擎添加了逐帧 CRC(循环冗余校验)完整性验证支持。该实现基于 NVIDIA 提供的文档。
当然,此次内核重大更新版本中包含了许多新增和更新的驱动程序,以支持更多新型硬件组件。此外,还包含一些安全相关的功能,以及常规的错误修复和内核内部更改。
最后,如果您想自行编译内核,可以从kernel.org下载这个新版本。对于其他用户,您可以等待稳定的 Linux 内核 5.9 发布到您的 GNU/Linux 发行版的稳定软件仓库后再从旧版本升级。
至于Linux 5.10的下一版本,预计它将在XNUMX月中旬或圣诞节假期到达。