![640](https://img-blog.csdnimg.cn/img_convert/f6b4f6dfdcb2402e5c954239125ed9cb.gif)
5.3 Merge window, part 2
By Jonathan Corbet
July 22, 2019
在5.3 merge window结束之际,总共有12608个patch被合入mainline仓库。其中约有6000个是在上一次的LWN: Linux 5.3合入窗口进展 part 1 文章之后加入的。当然本次release cycle里,后续肯定还是会有很多合入。
这第二部分的改动中比较显眼的包括如下内容。
Architecture-specific
User-mode Linux增加了一个“time-travel mode”,可以自由加快或减慢它的速度,有助于调试一些timing敏感的问题。
RISC-V架构支持了huge-page。
Core kernel
io_uring机制可以支持异步的sendmsg()和recvmsg()操作了。
kernel probe(所谓的kprobes)可以支持对用户空间的指针进行解析了。例如可以用来查看传递给system call的结构里面的具体内容。commit里面有文档介绍。同时kprobe也支持在启动初始化时进行设置了。
新增了一个kernel config选项(PREEMPT_RT)来选择实时抢占。相关的实现代码还没有推到upstream上,不过看起来应该很快会进来了。
Filesystems and block layer
ubifs文件系统支持zstd压缩,也能支持offline-signed(离线签名过的,例如PC侧编译时签名的)文件系统映像文件的验证。
Ceph文件系统支持文件的security label了,从而能支持SELinux。
NFSv4文件系统新增了一个mount参数(nconnect=),允许管理员发起多路同NFS server的TCP连接。数据交互可以在这几路连接之间做负载平衡。
Hardware support
Graphics: Samsung S6E63M0 RGB/SPI panels, OSD OSD101T2587-53TS DSI 1920x1200 video mode panels, ST-Ericsson multichannel display engines, and AMD NAVI GPUs.
Miscellaneous: NXP IMX8MN pin controllers, Qualcomm SM8150 pin controllers, Cypress HyperBus-connected devices, ROHM BD70528 power-management ICs, Rockchip RK809 and RK817 power-management ICs Cirrus Logic CS47L15, CS42L92, CS47L92 and CS47L93 codecs, MediaTek MT7621/MT7628 I2C controllers, SiLabs 5341 and 5340 clock generators, and Apple SPI keyboards and trackpads.
Security-related
新增两个command-line参数,init_on_alloc= 和 init_on_free=, 可以让内存分配和释放的时候都把内存内容初始化为0。虽然会引入一些运行耗时,不过可以改善安全性,后续的Android和ChromeOS系统上都会打开。参见https://git.kernel.org/linus/6471384af2a6
X86架构的KVM里面,perf event新增了一个event过滤机制。可以允许系统管理员允许哪些event对guest OS可见。具体内容参见https://git.kernel.org/linus/66bb8a065f5a
Virtualization and containers
新增virtio-iommu驱动,在virtio机制的基础上模拟了I/O内存管理单元。
新增virtio-pmem驱动,在guest OS里模拟persistent memory。
Internal kernel changes
内核的makefile可以支持header-test-y声明,用来指明头文件可以自己独立被编译。在编译的时候如果HEADER_TEST配置选项打开的话,会真正检查来确保头文件可以编译。目标是让所有头文件都能通过这个检测,不过目前还是有很多头文件无法通过。参见https://git.kernel.org/linus/e846f0dc57f4 和https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=43c78d88036e
一直在进行的把内核文档转化成ReStructured Text格式的工作,本次合入了一个巨大的patch set,把大多数纯文本文件都处理好了。目前格式问题基本上都处理好了,剩下的问题就是怎么能把文档集成进来,以及根据目前的最新内核进行更新了。
古老的软盘驱动程序被标记为orphaned了,今后不再更新。因为连maintainer都没有一个能正常工作的软盘驱动器了。
后续的遗留工作就是要把所有这些改动之后的Linux kernel能调试稳定。按照正常的耗时来估计(通常来说都挺准的),最终5.3的发布应该会在9月8日或者15日。
全文完
LWN文章遵循CC BY-SA 4.0许可协议。
极度欢迎将文章分享到朋友圈热烈欢迎转载以及基于现有协议上的修改再创作~
长按下面二维码关注:Linux News搬运工,希望每周的深度文章以及开源社区的各种新近言论,能够让大家满意~