不久前,Linus Torvalds在lkml上宣布,Linux 5.18版本发布了:
在过去的一周里没有发生什么超出预期的事情,所以我们将会按计划发布5.18版本了。
这意味着5.19的合并窗口也即将开启,其实在此之前我已经收到一些pull请求等待处理了。十分感谢大家。当然,我还是十分希望大家在开始使用合并窗口的所有新功能之前,先运行一下之前没有过任何改动的5.18,通过这样的方式来进行一下检查。
上周的完整短日志我们会在下方给出,也没什么特别突出的地方。就是diffstat看起来有点奇怪,这可能由于最后时刻有一些缓存刷新修复了。parsic架构补丁在其中也占了很大一部分,这确实让人疑惑,但这可能就更加说明他方面的更新都挺少的。
在parisc补丁之外,还会有随机的驱动程序更新,此次mellanox mlx5脱颖而出,我猜想可能是因为其他所有补丁的内容都很小。此外还包括其他的一些次要架构补丁、一些核心网络和一些工具。另外就是一些比较随机的小问题,更多细节你们可以查看全文。
—Linus
之前的Linux 5.17版本为我们带来了实时Linux分析(RTLA)工具、新的现代AMD Zen处理器P状态驱动程序、直线推测攻击的缓解措施、更快的随机数生成器,以及其他的许多更改。
Linux 5.18版本的一些亮点:
- 更快的编译时间– 建议重新构建内核头文件,这样可以更显著地加快编译速度,Linux 5.18在任务调度器中引入了这些变化
- Linux 5.18切换到C11– 到目前为止,Linux内核依赖于C89标准(1989年发布)。新版本现在使用的是C11标准(2011年发布),为什么会切换在LWN文章中已经解释过了
- AMD Zen上更好的进程调度性能– AMD Zen CPU每个节点具有多个Last Level cache (LLC),这使得“通过优化工作负载的方式帮助优化运行”变得更加困难了。新代码可以对多llc机器上的不平衡进行调整,直到节点之间的LLC平衡。这可以显著提高某些工作负载的性能
- Btrfs更新– 编码I/O、跨挂载反射/重复数据删除和性能改进。Linux版本允许用户空间工具通过直接发送、接收、读取和写入压缩到扩展区的方式来避免额外的解压缩和压缩,这增加了对跨挂载反射/重复数据删除的支持,以及一些性能改进,基于fsync的工作负载就尤其明显。
Linux 5.18中的Arm更新
- Allwinner(全志)
- Allwinner H616 – 添加RTC
- Allwinner R329 – 添加ASoC驱动程序
- PHY – 支持USB的Sun4i
- 增加了对F1c100s的支持
- Defconfig – 启用Allwinner F1C100
- 新板 – A20 – Marsboard开发板
- Rockchip(瑞芯微)
- Amlogic(晶晨)
- Pinctrl – 用于Amlogic Meson S4 SoC的新驱动程序
- ARM64 Linux 5.18的DT更改:
- 对Amlogic S4(S802X2、S905Y4、S805X2G、S905W2)的初始支持
- 支持G12 SoC上的uart_ao_b和pwm_f
- 为SM1 (S905X3)板移除低于1GHz的CPU opps,因为“当系统空闲且CPU内核时钟下降到较低的opp点时,Amlogic SM1设备会遇到CPU停滞和随机板楔形”
- 新设备和电路板
- Amlogic A905X3 – Amediatek X96-AIR、CYX A95XF3-AIR、Haochuangy H96-Max电视盒
- Amlogic AQ222电路板(Amlogic S4)
- OSMC Vero 4K+(Amlogic S905D)
- Samsung(三星)
- Pinctrl
- Samsung Exynos850和ExynosAutov9上的唤醒支持
- 修复了pinctrl驱动程序探针错误路径中的参考泄漏
Exynos850 ALIVE和CMGP引脚库的正确处理程序列表 - 接受以“-gpio-bank”后缀命名的GPIO引脚库定义的设备树。这对于后来的Samsung pinctrl绑定dtschema是必要的
- 将Samsung pinctrl绑定转换为dtschema
- 时钟控制器 – 在Samsung Exynos SoC时钟控制器驱动程序中添加对Tesla FSD SoC 时钟控制器的支持。Tesla FSD的时钟控制器与Samsung Exynos的时钟控制器类似,因此整个驱动器结构可以重复使用
- DTS ARM对Linux 5.18的更改
- 修复DT架构检查指出的问题:在Exynos5260上添加必要的时钟控制器输入,在Odroid XU上删除不受支持的稳压器,添加USB DWC3电源,从Exynos4210中删除旧的热属性
- 添加对Samsung Chagall WiFi(Exynos5420,三星Galaxy Tab S 10.5“,SM-T800)和类似的Samsung Klimt WiFi(Samsung Galaxy Tab S 8.4”)的支持
- 将电池添加到Samsung P4Nnote(Exynos4412,Samsung Galaxy Note 10.1)
- DTS ARM64更改
- 新增Samsung Exynos 850手机SoC和参考板(WinLink E850-96板)
- 添加了Samsung Exynos7885与Samsung Galaxy A8(2018)手机
- Tesla FSD(完全自动驾驶),一款源自Samsung Exynos家族的汽车SoC
- 修复DT架构检查指出的问题:在Exynos7上添加必要的时钟控制器输入,添加USB DWC3电源,在Exynos5433上删除旧的系统控制手柄
- 改进和dtschema修复(节点名称、属性)
- Pinctrl
- Qualcomm(高通)
- 时钟驱动
- 新增Qualcomm SDX65 A7 PLL
- 新增Qualcomm SM6350 GPU时钟
- 新增Qualcomm SM6125、SM6350、QCS2290显示时钟
- 新增Qualcomm MSM8226多媒体时钟
- 更新Qualcomm SC8280XP RPMCC
- 在Qualcomm MSM8992/MSM8994/MSM8998 SoC上添加了一些缺失的时钟
- 重新设计Qualcomm GCC绑定,并将SDM845摄像头绑定转换为YAML
- 转换各种Qualcomm驱动程序帮助使用clk_parent_data
- 从各种Qualcomm驱动器中删除测试时钟s
- Qualcomm IPQ806x上的加密引擎时钟+SDCC / NSS的更多频率
- Qualcomm SM8150 EMAC、PCIe、UFS GDSC
- 在Qualcomm RCG2时钟上提供更好的像素时钟频率支持
- PM – 修复Qualcomm cpufreq驱动程序问题
- Pinctrl
- Qualcomm SC8280XP SoC的新驱动程序
- Qualcomm SM8450获得EGPIO支持
- PCIe控制器驱动程序 – 添加SM8450 DT绑定和驱动程序支持
- 网络驱动程序
- Qualcomm 802.11ax WiFi(ath11k)
- 在无线电磁带中添加LDPC FEC类型和802.11ax高效数据
- 在监视器共存模式下启用RX PPDU统计信息
- Qualcomm 802.11ax WiFi(ath11k)
- 中断芯片
- 简化Qualcomm PDC驱动程序
- 添加对Qualcomm MPM唤醒小工具的支持
- 物理
- Qualcomm USB PHY 支持 sc8180x 和 sc8280xp、MSM8953
- 适用于 sc7280 的Qualcomm eDP PHY
- Arm64 DT更新:
- 新平台:骁龙625和骁龙632,以及对Fairphone FP3手机进行了初步描述
- IPQ6018 – 校正USB参考周期,启用GICv2m支持,并指定PCIe的最大链路速度
- IPQ8074 – 添加GIVv2m和SMEM的描述,并确保从Linux保留与TrustZone相关的内存
- 骁龙7c Gen 3(SC7280)– 增加了显示、显示端口、L3互连、蓝牙、CPU opp表的描述
- 骁龙845 – OnePlus设备获得电量计,平台获得GSI DMA支持,目前支持SPI
- 骁龙850 – 联想Yoga C630获得了对其背光控制的描述
- SM7225平台上的Fairphone 4获得了正确的WLED配置
- 骁龙855(SM8150)– 介绍了限制硬件(LMh)的描述,并将SPI和I2C设备连接到了GSI DMA控制器
- 骁龙865(SM8250) – 引入了CPU和群集空闲状态,纠正了PCIe 1和2的MSI中断,CPUfreq驱动程序获得了有关热压中断的知识。
- 默认配置更新
- Qualcomm骁龙8916设备有32位或64位两种形式,尽管到目前为止的典型情况是64位,但可以在任何一种模式下运行Dragonboard 410c
- 启用multi_v7_defconfig中的相关驱动程序以启用此功能,并启用其他Snapdragon 8916设备以运行32位内核
- 新设备和电路板
- Google Herobrine R1 Chromebook 平台(骁龙7c 3代)
- SHIFT6mq手机 (骁龙 845)
- 三星 Galaxy Book2 (骁龙850)
- Snapdragon 8 1代 硬件开发套件
- 时钟驱动
- MediaTek(联发科)
- MFD – 添加对MediaTek MT6366 PMIC到MT6358 IRQ的支持
- 网络驱动程序
- 以太网 – 新增MediaTek MT8195交换机
- 无线网络
- 新增MediaTek mt7916、MediaTek mt7921u USB适配器
- 背景雷达检测(mt76驱动程序)
- mt7915上的热管理改进
- 支持更多mt76平台的SAR
- mt7915上的MBSSID和6 GHz频段
- 其他新的Arm硬件平台和SoC
- 速度 – 广达 S6Q BMC(AST2600),华擎ROMED8HM3(AST2500)
- 博通 – 树莓派 Zero 2 W
- Marvell – MVEBU/Armada:Ctera C200 V1 NAS(Kirkwood)、Ctera C200 V2 NAS (Armada-370)
- Mstar(SigmaStar) – DongShanPiOne,低端嵌入式板卡,Miyoo Mini掌上游戏机
- 恩智浦- i.MX8M Mini板:Protonic PRT8MM,emCON-MX8M Mini板、Toradex Verdin和Gateworks GW7903
- 德州仪器 – SanCloud BeagleBone,增强型WiFi
- 意法半导体 – Emtrion emSBS-Argon嵌入式板(STM32MP157C)
RISC-V的更改
- Allwinner D1 – 增加了对I2S、MMC、SID、USB的支持
- SiFive
- 一堆SiFive PLIC清理
- SiFive FU740 PCIe控制器驱动程序:
- 从DT GPIO查找中删除冗余的“-gpios”
- 初始设备探测力2.5GT/s
- StarFive
- 时钟驱动 – 在StarFive JH7100RISC-V SoC上添加了音频时钟
- 支持基于Sv57的虚拟内存
- “MicroChip PolarFire SOC和相关Icicle开发板的各种改进”应该允许上游内核在不进行任何额外修改的情况下启动
- 改进的memmove ()实现
- 支持新的Ssconfpmf和SBI PMU扩展,允许在RISC-V系统上实现更有用的性能
- 支持可重新启动的序列
MIPS Linux 5.18更新日志
- 添加了对QCN550x(ath79)的支持
- 启用KCSAN
- 删除TX39XX支持
- 各种清理和修复
- 将R4000/R4400 CPU错误解决方法扩展到所有修订版
其他更多信息,你们可以查看完整的Linux 5.18更新日志,其中包含使用git log v5.17…v5.18-rc8 –stat命令生成的所有提交消息。或者你们也可以在KernelNewbies网站上查看更详细的摘要。
文章翻译者:Jacob,嵌入式系统测试工程师、RAK高级工程师,物联网行业多年工作经验,熟悉嵌入式开发、测试各个环节,对不同产品有自己专业的分析与评估。