随着Linux 30 岁了,没有什么比发布新内核更好的庆祝方式了,因为 Linus Torvalds 刚刚宣布了 Linux 5.14 系列的普遍可用性。
在不到两个月的开发过程中,Linux 5.14内核带来了很酷的新功能,例如合并了核心调度功能以更好地保护我们的 Linux 计算机免受某些 Spectre 漏洞的侵害、突发 CFS 带宽控制器或新机制更好地控制用户命名空间内的资源限制。
Ubuntu 20.04 中的 Linux Kernel 5.14 截图
还有一个新的控制组的 I/O 优先级控制器,用于管理每个组成员生成的块 I/O 请求的优先级,一个新的速率限制器,用于 x86 架构上睡眠进程的分裂锁检测功能创建一个拆分锁,以及一个新的 PCI-over-virtio 驱动程序,用于在用户模式下支持 PCI 驱动程序。
Linux Kernel 5.14 也为 ARM 64 位 (AArch64) 用户带来了好消息,因为 KVM(基于内核的虚拟机)虚拟化模块现在支持来宾中的 ARM64 内存标记扩展,并且现在可以独立配置 ARM64 指针身份验证内核空间和用户空间。
其他有趣的功能包括为 IPv4 和 IPv6 流量创建多路径散列策略的自定义配置的新机制,在 virtio I/O 虚拟化框架中支持 SOCK_SEQPACKET 套接字,支持在 s390 架构上启动 Zstd 压缩内核,以及名为 memfd_secret() 的新系统调用可以创建一个甚至内核都无法访问的私有内存区域。
Linux Kernel 5.14 的另一个重要变化是 libata 子系统现在用于控制 IDE 设备,而不是旧的 IDE 块驱动程序,后者已被完全删除。
在这些改进中,有一个用于 AMD GPU 的大大增强的 AMDGPU 图形驱动程序,一个更好的 SO_REUSEPORT 套接字机制,允许更多地控制应用程序如何处理故障转移,支持 F2FS 文件系统来压缩 mmap() 映射文件,以及一个改进的EXT4 文件系统,现在可以强制所有挂起的事务退出日志以防止信息泄漏。
最后但并非最不重要的是,Linux 5.14 看到了 BPF 程序加载器基础架构的初始合并、KFENCE 支持和对 RISC-V 架构中透明大页面的支持、控制组终止按钮补丁集的合并以快速杀死所有控制组的成员,以及众多新的和更新的驱动程序,以提供一流的硬件支持。
得益于 1650 位不同开发者的贡献,Linux 5.14 内核已在过去 2 个月时间里经历了七个候选发布版本。除了个人贡献者,包括英特尔、AMD、IBM、甲骨文、三星在内的科技巨头,也都提供了鼎力的支持。
如果您想自己编译Linux Kernel 5.14,现在可以从kernel.org网站下载它,但我强烈建议您等到它安全地登陆您最喜欢的 GNU/Linux 发行版的稳定软件存储库后再更新,或坚持使用几个长期支持的内核分支之一。