关注了就能看到更多这么棒的文章哦~
The end of the 5.5 merge window
By Jonathan Corbet
December 9, 2019
原文来自:https://lwn.net/Articles/806576/
在merge window合并窗口结束之前,针对未来的5.5 release已经合入了12632个changeset。因此本轮开发周期跟此前几个cycle差不多繁忙。其中略超过一半的changeset是在我们上一篇文章之后合入的。通常在合并窗口的后半程,相当多的改动都是一些让人烦恼的bug fix,这次也不例外。不过还是有不少有意思的改动的,请看下面的后半程总结。
Architecture-specific
RISC-V架构支持了seccomp()系统调用(包括BPF filtering)
支持了不包含MMU的RISC-V系统
xtensa架构可以用XIP (execute-in-place)kernel启动起来了。
Core kernel
针对io_uring增加了IORING_OP_CONNECT命令,允许connect()调用采用异步方式执行。
在标为废弃状态多年之后,终于删除了sysctl()系统调用。
利用新增的injection mechanism,可以人为创建trace event,在测试一些根据trace event触发的软件行为的时候会很有用。
Filesystems and block I/O
XFS "iomap"代码被移到VFS层了。这样其他文件系统也就能利用这个架构了。ext4文件系统已经修改为直接使用这部分代码了。希望这样一来,后续各个文件系统里面的direct I/O操作能够更加简单、一致,也会有更少的bug。
CIFS文件系统支持了flock()系统调用。CIFS也支持了multichannel,应该会改善性能。
hugetlbfs文件系统支持利用O_TMPFLE选项创建文件。
NFS客户端支持了跨device的offloaded copy的操作,也就是直接从一个远程服务器复制到另一个服务器。
Hardware support
Clock: Qualcomm QCS404 Q6SSTOP clock controller,Qualcomm SC7180 global clock controller,Qualcomm MSM8998 graphics clock controller, Ingenic X1000 时钟发生器,Bitmain BM1880时钟控制器。
DMA:NXP DPAA2 QDMA控制器,Milbeaut AHB and AXI DMA控制器,Sifive PDMA控制器。
Miscellaneous:Crane EL15203000 LED控制器,RDA Micro GPIO控制器,Broadcom XGS iProc GPIO控制器,Mellanox BlueField固件启动控制单元,Amlogic G12温度传感器,Samsung EXYNOS5422内存控制器,Qualcomm片上内存控制器,Marvell MMP3 USB PHY,NVIDIA Tegra30外接内存控制器。
Securiy-related
seccomp() 用户空间通知机制支持一个新增的返回值,SECCOMP_USER_NOTIF_FLAG_CONTINUE,用来让kernel允许有疑问的系统调用可以继续执行。
Internal kernel changes
kernel子系统可以支持简历他们自己的tracing实例,不用担心干扰user space进行的trace。
DMA-BUF heaps subsystem(用来替代Android的ION分配器)先被合入,不过接着又revert掉了。看起来原因是它没有按照DRM子系统的要求那样提供一个开源的user-space使用者的样例。看到这个功能需要等到5.6版本才能合入了。
大多数ioctl()兼容代码都被移动到需要用到这些代码的驱动里面去了,不久之后应该会彻底移除这部分代码。
利用kcov提供代码测试覆盖率的过程中可以检测到后台执行的内核线程了。不过需要进行一些特别的标注,详情见https://git.kernel.org/linus/eec028c9386e
有一个(意料之中)没能赶上5.5合并窗口的改动是WireGuard VPN系统。这个大家等待很久的功能应该很快会完成了,已经合入了networking tree针对5.6 release的分支。此时,5.5 kernel已经进入稳定周期,希望能fix所有新增的bug。最终5.5版本的发布预计会在2020年2月初。
全文完
LWN文章遵循CC BY-SA 4.0许可协议。
欢迎分享、转载及基于现有协议再创作~
长按下面二维码关注,关注LWN深度文章以及开源社区的各种新近言论~