LWN:6.7合并窗口的后半部分!

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

The rest of the 6.7 merge window

By Jonathan Corbet
November 13, 2023
ChatGPT translation
https://lwn.net/Articles/949957/

截至 11 月 12 日,6.7 合并窗口关闭时,已经有 15,418 个非合并变更集被合并到主线内核中。于是这一轮成为了有史以来最繁忙的合并窗口之一;不过,如果不计入漫长的 bcachefs 开发过程(约 2,800 次提交),那么补丁数量大致与近期的其他内核相符。其中超过 5,000 次提交是在我们的上半合并窗口摘要撰写之后合并的。

如下是在 6.7 合并窗口的后半阶段合并到主线中的一些人们感兴趣的内容:

架构特定

  • LoongArch 架构已支持使用 KVM 进行虚拟化。详细信息请参见此文档提交。

  • RISC-V 上的 KVM 现在支持Smstateen扩展,希望防止虚拟机使用 hypervisor 不支持的寄存器作为隐蔽通道(covert channels)。RISC-V 上的 KVM 现在还允许在客户机中使用Zicond扩展(添加了一些条件整数操作)。

  • x86 系统上的 KVM 客户机现在可以拥有最多 4,096 个虚拟 CPU;最大值现在通过内核配置选项设置。

  • RISC-V 已支持基于 LLVM的影子调用栈保护。启用此选项需要 Clang 17 或更高版本。

核心内核

  • 内核同页合并(KSM, kernel samepage merging)希望把持有相同内容的匿名页面和病起来,以提高内存利用率。因此它会反复扫描未能合并的页面,浪费 CPU 算力。新的"智能扫描"模式会跟踪未成功扫描的页面从而使得后续的扫描可以降低频率。智能扫描默认是 禁用 启用状态;有一个新的 sysctl 旋钮( /sys/kernel/mm/ksm/smart_scan ),可用于查询或更改其状态。相关文档可以在此提交中找到。

  • 新增了 PAGEMAP_SCAN 这个 ioctl() 命令来配合userfaultfd()文件描述符一起使用,可用于检测对一段内存范围的写入。这对于某些游戏反作弊技术以及CRIU非常有用。有关更多信息,请参见此文章和此文档提交。

文件系统和块 I/O

  • Ceph 文件系统已支持ID映射挂载。

硬件支持

  • GPIO 和引脚控制: Nuvoton NPCM8XX 引脚控制器,Realtek DHC 1315E、DHC 1319D 和 DHC 1619B 引脚控制器,以及 Amlogic T7 SoC 引脚控制器。

  • 工业 I/O: Microchip MCP39xx、MCP246x 和 MCP356x 模数转换器,Linear Technology LTC2309 模数转换器,Kionix KX132-1211 加速度计,以及 ROHM BM1390 压力传感器。

  • 媒体: Nuvoton NPCM 视频采集/编码引擎,Digiteq Automotive MGB4 抓取卡,以及 onsemi MT9M114 传感器。

  • 其他: Renesas R-Car Gen4 PCIe 控制器,Xilinx DMA PL PCIe 主机桥,Kinetic KTD2026/7 RGB/白色 LED 控制器,Qualcomm SDX75 互联提供者,Espressif ESP32 UART,Espressif ESP32 USB ACM 设备控制器,以及 SigmaStar SSD202D 实时时钟。

  • 声音: Starfive JH7110 PWM-DAC 数字模拟转换器,Richtek RTQ9128 45W 数字输入放大器,Awinic aw87390 和 aw88399 放大器,以及 AMD ACP6.3 音频平台。

  • USB: Realtek DWC3 控制器,Intel La Jolla Cove USB 适配器,以及 NXP PTN36502 Type-C redrivers。

杂项

  • 请参见此合并消息,了解 6.7 版本中 perf 工具的新功能和增强的详细列表。

安全相关

  • Landlock安全模块已获得控制网络连接的能力。有关更多信息,请参见此提交消息和此文档补丁。

  • AppArmor安全模块现在可以控制对 io_uring 的访问以及用户命名空间的创建;此功能已合并但没有文档。

  • 内核已经获得用于虚拟机认证的新API。有关更多信息,请参见此变更日志。

内核内部更改

  • 内存管理的 shrinker 机制已经重做,以消除一些 locking 开销并减少竞争。现在,所有的 shrinker 都是动态分配的,一些常见操作已经变为 lockless 的。

  • 在一些挫折之后,改进=printk()=的可靠性和性能的工作又回来了。6.7 合并的最大改动是一个新的 per-console locking 方案,允许高优先级消息(例如紧急情况下)抢占低优先级消息控制下的控制台进行输出。

  • 如果有合适版本的 Clang,默认情况下构建系统现在会构建 perf BPF 程序。

  • 旧的 videobuf 层,长期以来用于管理媒体子系统中的帧缓冲,已经被移除。驱动程序应该在多年前就迁移到 videobuf2。

  • MAINTAINERS 文件已经更新,以反映一些内核邮件列表已经从 lists.linux-foundation.org 迁移到 lists.linux.dev。旧的列表地址目前仍然有效,但最终可能停止工作,因此人们应该更新地址簿等来适应新的配置了。

如果这是一个正常的九周开发周期的话,最终的 6.7 版本将于 12 月 31 日发布。然而,过去的历史表明,当许多开发人员离开键盘时,Linus Torvalds 不太可能选择在这个期间来发布内核。因此,更现实的发布日期预计是 2024 年 1 月 7 日。当然在那之前肯定会有很多 bug 需要被找到以及 fix,像往常一样。

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

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

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

format,png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值