LWN:5.7内核合并窗口第一部分!

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

5.7 Merge window part 1

By Jonathan Corbet
April 3, 2020

原文来自:https://lwn.net/Articles/816313/

主译:DeepL

截至撰写本文时,已经有7233个非merge的patch set被合入了5.7内核开发周期的主线版本库中,这是在仅仅大约三天时间里的进展。如果说目前的世界状况让内核开发速度放慢了,那么从这个数据上来说似乎还没有多大影响。和往常一样,这些patch set带来的修复、改进和新功能层出不穷。请继续阅读来了解5.7合并窗口的第一部分总结。

Architecture-specific

  • 备受争议的split-lock detection patch终于被合并了。有关该模式的工作原理,请参见此changelog(https://git.kernel.org/linus/6650cdd9a8cc)。目前,这项工作破坏了一些基于VMware的虚拟机的正常运行,但大概在5.7发布之前很早就会被修复。

  • Arm 架构现在支持内存的热删除(hot-removal)。

  • 指针验证(pointer authentication)功能现在支持内核代码的指针验证(用户空间的支持已经合入一段时间了)。这项工作包括了内核中的返回地址签名功能(return-address signing)。

Core kernel

  • io_uring子系统现在支持了splice()和LWN:io_uring可以自动选择使用哪个buffer了!

  • 合并了thermal pressure patch set。调度器在分配任务时会考虑到处理器的温度。

  • CPU调度器的负载跟踪(load tracking)在x86架构上终于实现了frequency invariance。这意味着无论CPU当前的工作频率是什么,它都能获得正确的utilization值。

  • 在经历了相当多的来来回回之后,BPF和realtime preemption现在可以很好地共存了。

  • 新增的BPF_MODIFY_RETURN BPF程序类型可以附加到内核中的一个函数上并修改其返回值。

Filesystems and block I/O

  • Btrfs文件系统提供了一个新的ioctl()命令(BTRFS_IOC_SNAP_DESTROY_V2),可以通过subvolume的ID来删除subvolume。

  • 正如预期的那样,exFAT文件系统模块已经被删除,以便为一个更好的模块腾出空间,该模块将通过文件系统树合并到主内核中。不过这个模块删除之前许多开发者对其进行了一些改进,这些现在已经被弃用。

Hardware support

  • 显卡。京东方TV101WUM和友达KD101N80 45NA 1200x1920面板、飞信K101 IM2BA02面板、派瑞德PS8640 MIPI DSI转EDP转换器、TI Keystone显示子系统、三星AMS452EF01面板、Ilitek ILI9486显示面板、东芝TC358768 MIPI DSI桥接器、TI TPD12S015 HDMI电平转换器、诺华科技NT35510 RGB面板、艾利达KD35T133面板。

  • 工业级I/O。夏普GP2AP002接近/环境光传感器、Dyna Image AL3010环境光传感器、Analog Devices HMC425A GPIO增益放大器、Analog Devices AD5770R数模转换器、InvenSense ICP-101xx压力和温度传感器。

  • Media。Sony IMX219传感器和Allwinner DE2 rotation units。

  • Miscellaneous:Sony IMX219传感器和Allwinner DE2旋转单元。Analog Devices风扇控制器、Qualcomm Atheros AR934X/QCA95XX SPI控制器、MediaTek SPI NOR控制器、Monolithic MP5416电源管理IC、Monolithic MP8869调节器、Ingenic JZ SoC操作系统定时器、IDT 82P33xxx PTP时钟、Xilinx ZynqMP AES加密加速器、Allwinner sun6i/sun8i/sun9i/sun50i message boxes。

  • 网络。高通IP加速器、Synopsys DesignWare XPCS控制器、Marvell USB转MDIO适配器和TI K3 AM654x/J721E CPSW以太网适配器。

  • USB:Intel PMC多路复用器、Ingenic JZ4770收发器、Maxim MAX3420 USB-over-SPI控制器、高通28nm高速PHY、高通USB超速PHY 【不要问我们 "高速 "是不是比 "超速 "更高速......】。USB子系统还有一个新的 "raw gadget "接口,可以在用户空间实现对USB设备的模拟。

  • Staging:无线USB子系统和 "超宽频 ultra wideband "模块已经被删除了,这两个模块已经有一段时间无法征正常工作了,也没有人对它开发了。HP100以太网驱动也从staging中消失了。同时,在5.6中删除的Cavium octeon USB控制器和无线接口驱动,已经在5.7中重新恢复回来了。

Networking

  • 网络层现在可以利用硬件卸载802.11封装任务的优势。

  • 新的 "Bareudp "模块提供了通用的level-3 UDP封装,可以被其他一些隧道协议所使用。更多信息请参见本提交中的文档(https://git.kernel.org/linus/571912c69f0e )。

  • 将设备从一个network namespace移动到另一个network namespace,现在会相应地调整相关的sysfs文件的属主和权限。

  • 合并multipath TCP patch的这些工作还在继续,但在主线中实现完整的 MPTCP 可能还需要一段时间。

Security-related

  • SELinux 的 checkreqprot值,如果设置为 1, 则会改变安全策略中检查memory protection的方式;这样做的效果是,无论加载的策略是什么,都可以让内存变成具有可执行权限。这个设置将在 5.7 中被弃用,计划在未来的版本中完全禁用;更多信息请参见此提交。

  • KRSI 安全模块已被合并,是从网络子系统的git tree合进来的。这个模块允许将 BPF 程序附加到内核中的任何安全钩子上;LWN分析它的时候还叫KRSI,不过后来就改了名字,但核心思想不变。这个提交(https://git.kernel.org/linus/4dece7f3b925 )包含了一些关于这个功能的文档。

  • 内核的Curve25519椭圆曲线加密实现已经被正式验证过的Curve25519(https://git.kernel.org/linus/07b586fe0662 )所取代。

Internal kernel changes

  • 现在有了一个通用的中断注入机制(https://git.kernel.org/linus/acd26bcf3627 ),可以用于调试和故障测试。

  • TRIM_UNUSED_KSYMS配置选项会导致从内核符号表中删除所有exported、但是内核configure和编译时没有使用的符号。在某些情况下(尤其是Android)希望删除这些符号,但也需要继续export独立kernel module所提供的一些符号,这些符号不是供Android内核本身使用。新的UNUSED_KSYM_WHITELIST选项允许提供一个即使没有被使用也应该保留的符号列表。

  • 现在可以(通过MAGIC_SYSRQ_SERIAL_SEQUENCE配置选项)指定一串字符来启用串口上的magic SysRq功能。这样做的目的是为了保持这个功能的可用性,同时避免在串行端口上产生的一些garbage data。

  • "unified user-space access-intended accelerator framework"在CPU和外围设备之间实现了共享虚拟地址;其目的是让加速器可以 "访问主cpu的任何数据结构"。它是通过crypto git tree合并的。参见本提交的文档(https://git.kernel.org/linus/aa017ab97a22 )。

  • kunit单元测试框架现在可以通过debugfs提供测试结果。

5.7 合并窗口才刚刚开始;如果按照正常的时间表,预计会持续到 4 月 12 日。一如既往,LWN 将会在合并窗口关闭后及时更新 5.7 的其他改动。

全文完

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值