LWN:5.14合并窗口结束了!

关注了就能看到更多这么棒的文章哦~

The conclusion of the 5.14 merge window

By Jonathan Corbet
July 12, 2021
DeepL assisted translation
https://lwn.net/Articles/861695/

7 月 11 日,5.14 合并窗口随着 5.14-rc1 的发布而正式结束了。当时已经有约 12,981 个 non-merge changeset 被合入了 mainline;其中将近 8,000 个是在 LWN 5.14 合并窗口的第一部分总结之后进入 mainline 的。因此,这个合并窗口中的 commit 数量比上一个要少。在 5.13-rc1 发布之前,已经有了 14231 个 changeset。看了一下,这次仍然有很多有趣的工作成果合入了内核。

在 5.14 合并窗口的后半部分,有如下这些比较重要的改动:

Architecture-specific

  • s390 架构启动现在支持了采用 Zstandard(zstd)算法压缩的内核。

  • RISC-V 架构支持了 transparent huge page,并支持 KFENCE memory-safety checker。

Core kernel

  • control-group kill button patch 已被合并。此功能支持对 cgroup.kill 这个虚拟控制文件来快速地杀死 cgroup 中的所有成员。

  • madvise() 系统调用有了两个新的选项:

    这两者都是为了能够马上完成这个区域内的所有 page fault 的开销,这样一来应用程序在后续运行中就不会由于 page fault 导致额外延迟了。它们与 mmap()的 MAP_POPULATE 选项并不一样,因为可以在任何时候被调用,而不仅仅是在内存映射创建的时候。更多信息请参见相关 commit。

    • MADV_POPULATE_READ ,触发 page fault 来对指定 mapping 中的所有页面进行读取操作。其效果与调用者自己循环来访问该范围中的每个页面的效果相同。这个操作不会破坏 COW mapping。

    • MADV_POPULATE_WRITE 则正相反,会 fault 进行这些 page 的 write 操作,有需要的话会破坏 COW mapping。

  • 合入了 memfd_secret() 系统调用代码。它用来创建一个对调用者来说私有的内存区域;甚至内核也不能直接访问这个区域。更多信息请参见相关 commit。

Filesystem and block I/O

  • ext4 文件系统支持了一个新的 ioctl() 类型,即 EXT4_IOC_CHECKPOINT。这个命令会强制所有待处理的 transaction 从日志中完全执行完毕,也会把存储设备上日志所在的位置覆写掉。这个操作是为了防止文件系统信息泄露的众多努力中的一部分。相关的 documentation commit 描述了这个新的操作及其选项。

  • 增加了 quotactl_fd() 系统调用。这是 quotactl_path() 的新形式,在 5.13 中曾短暂加入,后来由于 API 问题而被暂时禁用了。

  • F2FS 文件系统现在可以压缩使用了 mmap() 映射的文件。还有一个新的 nocompress_extension 挂载选项,可以禁止对任何名称符合指定的文件扩展名的文件进行压缩。

Hardware support

  • Clock。高通 MDM9607 全局时钟控制器、高通 SM6125 全局时钟控制器、高通 SM8250 摄像头时钟控制器、瑞萨 RZ/G2L 系列时钟控制器、TI LMK04832 JESD204B 时钟抖动净化器、Ingenic JZ4760 时钟控制器和华为 Hi3559A 时钟。

  • Graphics。ITE IT66121 HDMI 桥接器,ChromeOS EC ANX7688 桥接器,Hyper-V 合成视频设备,以及 TI SN65DSI83 和 SN65DSI84 DSI 到 LVDS 桥接器。还有一个新的 "simpledrm" 驱动程序,为简单的 framebuffer 设备提供 direct-rendering 接口;还有不可避免的 200,000 多行新的 amdgpu 寄存器定义。

  • Industrial I/O。TI TMP117 数字温度传感器、TI TSC2046 模数转换器、TAOS TSL2591 环境光传感器、Murata SCA3300 三轴加速计、Sensirion SPS30 颗粒物传感器、STMicroelectronics LSM9DS0 惯性传感器、NXP FXLS8962AF/FXLS8964AF 加速计和 Intel quadrature encoder。

  • Miscellaneous。Microchip 48L640 EERAM 芯片,PrimeCell SMC PL351 和 PL353 NAND 控制器,SparkFun Qwiic 操纵杆,Richtek RT4831 背光电源控制器,Qualcomm PM8008 电源管理器件。Xillybus 用于 USB 的通用 FPGA 接口,Qualcomm SC7280 互连,通用 CAN 收发器,Rockchip Innosilicon MIPI CSI PHYs,Allwinner SUN6I hardware spinlock,以及 MStar MSC313e 看门狗。

  • Pin control。联发科 MT8365 引脚控制器,高通 SM6125 引脚控制器,以及 IDT 79RC3243X GPIO 控制器。

  • Sound。恩智浦/Goodix TFA989X(TFA1)放大器,Rockchip RK817 音频编解码器,以及高通 WCD9380/WCD9385 编解码器。

  • Removals:提供对/dev/raw 下的 block device 的 unbuffered access 的 "raw "驱动已经被移除。依赖它的所有应用程序早就迁移到了 O_DIRECT,或者至少人们是这样认为的。

Virtualization and containers

User-mode Linux 现在利用一个新的 PCI-over-virtio 驱动支持了 PCI 驱动。

Testing and tracing

  • kunit self-test 子系统现在支持在 QEMU 下运行测试了,详见相关的文档提交。

  • 5.14 中新增了两个 tracing 机制。osnoise" tracer 会跟踪由内核活动(例如中断处理之类的)引起的应用程序延迟。timerlat tracer 则对基于 timer 的唤醒事件的延迟提供了详细信息。osnoise 和 timerlat 的相关 commit 中有更多关于使用的细节和说明。

5.14 内核现在正处于稳定阶段。除非有极不寻常的事情发生,否则最终的 5.14 版本将在 8 月 29 日或 9 月 5 日发布。在此期间还有大量的测试和错误修复工作要做。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值