Linus Torvalds不久前刚发布了Linux 5.17:
很高兴给大家报告时,该版本依旧保持着平稳。其实我们原本可以跳过这一环节的,因为没有太多的缺点,但在最后时刻我们还是进行了一些简单的恢复和修复,并避免了一些原本会成为稳定素材的brown–paper bug(brown–paper bug, 在公共软件版本中出现的非常尴尬的错误,以至于一段时间内作者名义上在头上戴了一个牛皮纸袋子,这样他就不会在网上被认出来。在1999 年初Linux 2.2发布之后这个词就开始被广泛使用了,就是因为Linux 2.2中有一个这样的错误),其他的一切久都很好了。
上周的平稳大家可以从附加的短日志中看出出来,真的没有很多提交,而且都非常小。其中大部分都位于驱动程序(net、usb、drm)中,还有一些核心网络和一些工具也更新了。
这个版本真的足够小了,你可以浏览下面的详细信息,其中的单行摘要就很好地介绍了上周发生的事情。
当然,这意味着5.18的合并窗口之后就可以开始打开,我的收件箱中目前已经有大约十几个pull拉取请求在等待中了。我真的十分感激早期的拉取请求:它们给了我一种激励作用,而这一切都在充足的时间内准备好了。从目前linux-next的统计数据来看,5.18 看起来会比5.17大一点,祈祷没有太戏剧性的变化。
所以你们现在可以去试用一下5.17,接下来我们也要开始 5.18的优化了。
1 月份发布的Linux 5.16通过新futex_waitv() 系统的调用,借助memory folios结构类型的更快内存管理、文件系统的健康报告(当时仅适用于 EXT-4)等,提高了Wine 和Linux游戏性能和许多其他变化。包括60多种基于Arm的新开发板和设备。
这次的Linux 5.17也有一些显著的变化,具体如下:
- 实时Linux分析(RTLA)工具— 作为将PREEMPT_RT纳入主线的一部分,Linux 5.17包含了一个实时Linux分析(RTLA)工具。该工具带有一组命令,其目的就是使用内核跟踪功能分析Linux的实时属性。更多的细节可以在Daniel Bristot de Oliveira 的文章中找到
- 适用于现代AMD Zen处理器的新P-State驱动程序— AMD P-State是AMD CPU性能扩展的驱动程序,它在Linux上基于AMD Zen的CPU系列引入了基于协作处理器性能控制 (CPPC) 的新CPU频率控制机制核心
- 缓解straight-line攻击— 2018年我们发现“Spectre and Meltdown”类型的安全漏洞不断出现,其中最新的漏洞之一被称为“Straight-line speculation”。Linux 5.17也增加了一些缓解这一漏洞的措施
- 更快的随机数生成器— Linux随机数生成器已经从SHA-1(即安全散列算法1是一种密码散列函数)切换到BLAKE2s哈希函数了,再加上其他改进,也极大地提高了性能
ARM架构的Linux 5.17变更日志
- arm64 架构已获得对内核并发清理程序 (KCSAN) 的支持
- 32 位 Arm 系统现在支持 KFENCE(内存异常检测工具)
- 全志
- 全志 A64/H5 – DRAM 频率缩放(DEVFREQ)
- 全志 – R40/T3/A40i – CAN(系列)
- 全志 H6 – 用于 VP9 视频解码的 Hantro G2 内核
- 新开发板 – 基于 H6 SoC的Tanix TX6 机顶盒
- 瑞芯微
- 瑞芯微 RK3399 的多项修复,解决了声音和 eMMC 问题
- 瑞芯微 Rk3568 usb2 支持
- 瑞芯微 VDEC – 为 VP9 profile 0 添加后端,最高 4096× 2304@30fps
- 晶晨
- 晶晨 Meson8 HDMI TX PHY 驱动程序
- Linux 5.17的ARM64 DT 更改:
-
- 为 ODROID-C4 和 HC4 添加了缺失的 CEC 节点
- 修复 G12/SM1 SoC dtsi的thermal-zones
- 修复 G12/SM1 SoC dtsi的GPU OPP 表节点名称
- 修复 ODROID-N2/N2+ 的 SPI NOR Flash节点名称
- GXBB Wetek 板的修复:
- 修复 HDMI 电源
- 添加缺少的 gpio 绑定包括
- 切换到新的 LED 绑定
- P241 新增功能 – 添加 VCC 5v 稳压器,添加声音节点
-
- 三星
- 时钟驱动程序 – Exynos7885 SoC 的初始时钟驱动程序(在三星 Galaxy A8 中可以找到)
- Pinctrl 驱动程序 – 添加三星 Exynos 7885 引脚控制器
- 三星 SoC 驱动程序获得对 ChipID (Exynos 7885)和 PMU (Exynos 850) 中新 SoC 的支持,以及处理各种类型串口通信(UART、I2C、SPI)的新 USIv2 驱动程序
- S3C 平台的小修复
- 针对 Linux 5.17 的 DTS ARM 更改
- 修复 GT-I9100 上的蓝牙 GPIO
- 小改进和 dts chema 修复
- DTS ARM64 变化
- 为 Exynos USI、Samsung Galaxy A8 (2018)板、WinLink E850-96 板(Exynos 850)和 WinLink 供应商前缀添加绑定
- 添加用于 Exynos 850 的 pinctrl 定义
- 将 Exynos Auto v9 上的串口转换为新的层次结构,其中串口是 USI 节点的一部分
- 高通
- 添加了对骁龙 X65 5G 调制解调器(Cortex-A7)的支持
- 增加了对骁龙 8 Gen 1高端移动SoC的支持
- Pinctrl 驱动程序
- 添加高通 SDX65、SM8450 引脚控制器
- 添加高通 PM8019、PM8226 和 PM2250 引脚控制器
- 物理层
- 高通 eDP PHY 驱动程序
- 高通 SM8450 UFS、USB2、USB3、PCIe0 和 PCIe1 phy 支持
- 高通 SM6350 USB2支持
- PCIe 控制器驱动程序 – 各种修复
- 时钟驱动程序 – 添加了高通 SDX65、SM8450 和 MSM8976 GCC 时钟、高通SDX65 和 SM8450 RPMh 时钟
- 网络 – 添加 BAM-DMUX WWAN 网络驱动程序,更新高通 802.11ax WiFi (ath11k) 驱动程序
- SDX55 调制解调器(IPA、PCIe PHY 和 PCIe 端点控制器)的设备树更新
- 新设备和开发板
- 基于骁龙 X65 和 骁龙8 Gen 1 的参考机
- 基于骁龙 7c、845 和 888 SoC 的各种 Chromebook 和手机,包括各种 Sony Xperia 设备和 Microsoft Surface Duo 2
- 联发科
- 对联发科 MT7986 (A/B) Wifi 路由器 SoC aka Filogic 830的基本支持
- 针对联发科 PCIe、PCIe Gen3 和 MT7621 PCIe 控制器驱动程序的各种修复
- 联发科 WiFi (mt76) – 对特定吸收率 (SAR) 支持,mt7921:对 160 MHz 信道支持
- 添加了对联发科 MT6589(在Fairphone FP1中找到)和 MT8183(在Acer Chromebook 314中使用)的支持。
- 其他新的 Arm 硬件平台和 SoC
- 苹果 – 为所有剩余的 M1 Macbook 和 iMac 变体添加了缺失的设备树,但尚未添加 M1 Pro/Max 版本
- TYAN、Facebook 和 Yadro 服务器中的 Aspeed AST2500/AST2600 BMC
- 博通 – 支持基于 BCM4908 的 Netgear RAXE500 无线路由器
- Microchip – 基于 AT91/SAMA5 的评估板
- 英伟达
- 各种基于 32 位芯片的较旧 Android 设备,包括许多 ASUS Transformer平板电脑
- Jetson AGX Orin 开发者套件
- 恩智浦
- i.MX8 ULP8 i.MX8 系列的低功耗版本
- 20 个用于 i.MX 和 LayerScape SoC 的新开发板和工业板
- 瑞萨电子 – R-Car S4-8 汽车服务器/通信 SoC
- STMicro – Engicam i.Core STM32MP1 载板
- 德州仪器
- K3 系列中的 J721s汽车 SoC
- SPEAr320 SoC 的 SPEAr320s 次要版本
MIPS架.构的更新
MIPS仍然没有完全消失,有一些更新:
- 添加对更多基于BCM47XX的设备的支持
- 添加对brcmstb PCIe控制器的MIPS支持
- 添加龙芯2K1000复位驱动
- 为君正JZ4760和JZ4770添加了MDMA和BDMA时钟
- 移除对rbtx4938/rbtx4939板的支持
- 删除对TX4939 SoC的支持
- 修复和清理
小标题:Linux 5.17中RISC-V的变化
RISC-V也有一些有趣的更新,特别是与全志和StarFive处理器相关:
- 全志D1 – 时钟、PLIC、加密引擎
- 添加对VisionFive SBC和BeagleV Starlight中StarFive JH7100 RISC-V SoC的支持
- 支持HiFive Unmatched上使用的DA9063
- 支持相关的可扩展文件,这使我们与其他架构保持一致,并在vmlinux中节省了一些空间
- 一些kexec修复/改进,包括从HiFive Unmatched上的PCI可寻址内存运行崩溃内核的能力
- 支持SBI SRST扩展,它允许在Linux中没有显式驱动程序的系统重新启动
- 一些修复和清理,包括对defconfigs和设备树的修复
你们还可以阅读Linux 5.17 更改日志,其中包含使用命令git log v5.16..v5.17-rc8 –stat 生成的所有提交评论,或者在KernelNewbies 网站上查看更详细的摘要。
文章翻译者:Jacob,嵌入式系统测试工程师、RAK高级工程师,物联网行业多年工作经验,熟悉嵌入式开发、测试各个环节,对不同产品有自己专业的分析与评估。