泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!
网站地址:https://tinylab.org

基于泰晓RISC-V实验箱的Linux公开课
请稍侯

泰晓资讯·4 月 / 第二期 / 2022

unicornx 创作于 2022/04/07

“泰晓资讯”,广泛报道 “Linux/开源” 业界资讯。欢迎广大读者投递相关资讯来源和素材,本站将进一步收集整理后发布给大家。

  • Linux 内核最新消息

https://lkml.org/lkml/2022/4/3/360

为期两周的 Linux 5.18 合并窗口终于结束了,Linus Torvalds 于 4 月 3 日发布了 Linux 5.18-rc1,这标志着 Linux 内核的下一个主要版本进入测试阶段。

从增加和修改的代码行方面来看,较为突出的两块是为支持新增加的硬件以及对 AMD 图形驱动的支持。其中特别是为 DCN 3.1.x 和 MP 13.0.x IP blocks 自动生成的头文件占了大头。Linux 5.18 中的这些新增功能为即将推出的 Radeon GPU 做好了准备。

代码贡献排在第二的是有关 Intel 的性能监控事件表的修改。Linux 5.18 的其余更改相当分散,看起来很正常,大约 60% 的 5.18 更改发生在驱动程序方面。

更多 5.18 中的新增特性概述,请参考本期资讯的另一篇文章

https://www.kernel.org/ updated by 2022/4/7

分支类型版本发布时间
mainline5.18-rc12022-04-03
stable5.17.12022-03-28
stable5.16.182022-03-28
longterm5.15.322022-03-28
longterm5.10.1092022-03-28
longterm5.4.1882022-03-28
longterm4.19.2372022-03-28
longterm4.14.2752022-04-02
longterm4.9.3092022-03-28
linux-nextnext-202204062022-04-06

关键词: Linux

  • Linux 5.18 新功能概述

With Linux 5.18-rc1 released last night the merge window is now over for feature work on Linux 5.18. So as usual here is my feature overview of all the changes for Linux 5.18 that caught my eye and were interesting for this kernel that is working its way towards the stable debut by late May.

本周发布的 Linux 5.18-rc1 标志着该周期的合并窗口现已结束。让我们来简单看看这个版本给我们带来了哪些新玩意。5.18 预计会在 5 月下旬稳定并正式发布。

Linux 5.18 合入了许多令人兴奋的改进,从对新硬件的支持到启用更多的软件功能、以及在增强系统安全性方面的永无止境的工作以及各种底层的改进。与最近大多数发布的版本情况一样,Intel 和 AMD 继续主导着内核的改进,它们持续地开发新的硬件,并在内核中实现对这些硬件的支持。很高兴看到 AMD 近来更进一步,为内核贡献了更多的硬件改进,而 Intel 则继续他们在 Linux 内核贡献方面连续二十年的领先地位。Intel 在 5.18 中推出了备受争议的 Software Defined Silicon(简称 SDSi)驱动、Hardware Feedback Interface (HFI) 驱动和 Platform Environment Control Interface (PECI) 驱动,启用了 CET 的 Indirect Branch Tracking (IBT) 安全功能,并继续改进他们的 DG2/Alchemist 独立显卡驱动支持。

随着 Linux 从 Steam 平台到数据中心的广泛应用,Intel 和 AMD 正在为 Linux 5.18 做出重大改变。

AMD 在 5.18 中继续为下一代 (Zen 4) 处理器做准备,添加了 Host System Management Port (HSMP) 驱动程序,对内核调度程序在 NUMA 方面的更改可以真正帮助 AMD EPYC 服务器改进性能甚至更多地用于特定工作负载,AMD 还改进了 nested virtualization,并开始为未来即将推出的显卡等提供新的 IP 模块。

Linux 5.18 中令人兴奋的其他硬件工作包括对 Tesla 的 Full-Self Driving (FSD) SoC 的支持;针对 ASUS 主板的新的传感器驱动,这可改进传感器监控性能;继续改进支持 Compute Express Link 标准工作的 CXL 子系统;以及对 Raspberry Pi Zero 2 W 的支持等等。Linux 5.18 还将切换到 C11 标准等等。到目前为止,我的 Linux 5.18 测试进展顺利,除了在综合基准测试中针对 NUMA 场景存在较大的性能衰退问题。

Linux 5.18 的合并窗口中共带来了超过 100 万行新代码并删除了大约 29 万行代码。在很大程度上,行数的增加是由于为了支持为新硬件所增加的 AMDGPU 头文件。

更多更详尽的 Linux 5.18 更改列表请阅读新闻原文:“Linux 5.18 Features Include Many AMD & Intel Additions, Tesla FSD Chip, Other Changes” https://www.phoronix.com/scan.php?page=article&item=linux-518-features&num=1

关键词: Linux

  • 第二批 RISC-V 功能更新合入 Linux 5.18

Last week the main RISC-V pull for Linux 5.18 brought Sv57 five level page table support, improved PolarFire SoC support, an optimized MEMMOVE code, support for Restartable Sequences, and more. A second batch of RISC-V feature updates were sent out this week and now merged for making Linux 5.18 even better for this open processor ISA.

在 merge window 的第一周里,Linux 5.18 合入了第一批针对 RISC-V 的 PR,其中包括对 Sv57 五级页表支持、改进的 PolarFire SoC 支持、优化的 MEMMOVE 代码、对 Restartable Sequences 的支持等等。上周,也就是 merge window 的第二周里 Linux 又合入了第二批 RISC-V 功能更新,进一步增强了对这种开放的处理器 ISA 的支持。

第二批合入的部分是对第一批内容的补充以及大量的测试相关内容。首先是在对 RISC-V 的 CPU Idle 处理上应用了更新的 SBI(Supervisor Binary Interface)扩展。RISC-V 的 CPU Idle 驱动程序设计参考了 ARM 的 PSCI CPU Idle 驱动程序设计。Western Digital(西部数据)为开发这种用于处理处理器内核空闲状态以提高节能效果的新驱动程序做出了重大贡献。

RISC-V 现在还支持 CURRENT_STACK_POINTER 内核选项,可以用于针对 user-copy 代码进行更有效的栈调试。此外,RISC-V 的默认配置文件现在选择默认启用的 “CONFIG_PROFILING”。这是为了利用不同平台上可行的 RISC-V PMU 驱动程序来帮助进行性能分析和其他内核分析功能。

其余的工作主要是清理和问题修复。更多介绍请访问新闻原文出处,“RISC-V CPU Idle Support, Other RISC-V Improvements Merged Into Linux 5.18” https://www.phoronix.com/scan.php?page=news_item&px=RISC-V-More-For-Linux-5.18

关键词: Linux, RISC-V

  • Linux 5.18 支持更方便地使用 Clang 编译内核

Building the Linux kernel with LLVM/Clang rather than GCC has continued maturing nicely since the support was mainlined two years ago and additional LLVM/Clang functionality continues to be optionally supported by the Linux kernel. With Linux 5.18 there is an improvement around the handling of the LLVM environment variable for dealing with versioned compiler binaries or compiler installations outside of the PATH.

自从两年前被内核主线支持以来,使用 LLVM/Clang 而不是 GCC 构建 Linux 内核已经变得更加成熟了,并且 Linux 内核可选地支持额外的 LLVM/Clang 功能。在 Linux 5.18 中,对 LLVM 环境变量的处理进行了改进,可以支持自己定制指定编译器路径,而不是缺省使用 PATH 环境变量中指定的路径。

目前内核编译时使用 LLVM=1 来定义选择使用 LLVM/Clang 而不是 GNU 工具链来构建 Linux 内核。但是目前,如果想要指定使用 PATH 定义之外的 LLVM/Clang 路径,或者像 Debian/Ubuntu 和其他发行版那样指定采用特定版本的 Clang,还不是件容易的事。

但从 Linux 5.18 开始,如果想要通过 PATH 环境变量指定使用系统的 LLVM/Clang 14 编译器,现在可以指定 LLVM=-14。或者,如果想要针对 PATH 之外的编译器,可以设置 LLVM=/path/to-llvm。缺省的 LLVM=1 行为与当前的内核相同。

更多介绍请阅读新闻出处,“Clang’ing The Kernel With Different LLVM Setups Will Be Easier With Linux 5.18”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.18-More-Flexible-LLVM

关键词: Linux, Clang

  • Linux 5.18 再次尝试针对 x86/x86_64 默认启用 “WERROR”

The Linux 5.18 merge window is ending today while sent in this morning were a batch of “x86/urgent” updates that include enabling the CONFIG_WERROR knob by default for Linux x86/x86_64 default configuration “defconfig” kernel builds.

在 Linux 5.18 合并窗口结束的最后一刻合入了一批叫做 “x86/urgent” 的更新,其中包括默认为 Linux x86/x86_64 内核构建默认配置 “defconfig” 启用 CONFIG_WERROR

去年 Linux 5.15 内核尝试默认启用 -Werror 以将所有编译器警告视为错误。其动机是确保开发人员认真对待编译器警告,并确保新代码不引入任何新警告。这种变化给 Linux 内核带来了很多构建时的痛苦,因此后来又取消了。

但最新的针对 Linux 5.18 的 PR,在默认情况下为 x86/x86_64 defconfig 构建又再次启用 CONFIG_WERROR,以重新启用 “-Werror” 的编译器检查行为。这应该让 Linus Torvalds 感到高兴,因为他老人家曾经说过:"EVERYBODY should have CONFIG_WERROR=y on at least x86-64 and other serious architectures, unless you have some completely random experimental (and broken) compiler. New compiler warnings are not acceptable."

除了这个修改之外,这批在 Linux 5.18 合并窗口关闭之前发送的最后一批 x86 更新还包括以下改动:通过 prctl() 动态修改 XSTATE,在 FPU/XSTATE 代码中正确处理 supervisor 状态,以及其他修复。

更多介绍请阅读新闻出处,“Linux 5.18 To Try Again For x86/x86_64 “WERROR” Default”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.18-x86-WERROR

关键词: Linux, x86,WERROR

  • Linux 5.18 中合入的针对随机数的更新

While Jason Donenfeld is known for his splendid work on the open-source WireGuard secure network tunnel technology, lately he’s been driving a number of improvements into the random/RNG code for the Linux kernel.

Jason Donenfeld 以其在开源 WireGuard 安全网络隧道技术方面的出色工作而闻名,最近他一直在推动对 Linux 内核中的随机数(RNG)相关代码进行改进。

除了上周已经合并到 Linux 5.18 中的许多随机数(RNG)改进之外,他还为这个新内核版本发送了第二组更新。Linus Torvalds 已经合并了来自 Donenfeld 的这些 RNG 更新。这项最新作品的特色亮点包括:

  • 当硬件 RNG 在早期启动期间传递了足够大的随机种子时,Linux 内核现在将跳过快速初始化路径并立即完全初始化 RNG。我们可以使能该特性使用 CONFIG_RANDOM_TRUST_BOOTLOADER 编译选项。
  • 在内核引导选项中添加了 random.trust_bootloader= 这个新选项,可以用于代替构建时的 CONFIG_RANDOM_TRUST_BOOTLOADER 选项起到类似的效果,这是对现有的 random.trust_cpu= 运行时选项的有力补充。
  • 为 VMGENID 添加符合规范的 ACPI CID,可提高 VM 安全性。
  • 通过最新的 entropy 插件恢复构建时的随机性。

新闻出处,“Last Minute Random/RNG Updates Land In Linux 5.18”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.18-More-Random

关键词: Linux, Random

  • GCC 12 在正式发布前仍有很多问题有待解决

GNU Compiler Collection developers are working towards the stable release of GCC 12 in the next month or so as GCC 12.1. A GCC status report was issued today and there still is just under two dozen regressions of the highest priority (P1) to address or otherwise demote those regressions to lower priority.

GNU Compiler Collection 开发人员正在为计划在下个月发布的 GCC 12 稳定版本 - GCC 12.1 努力。本周一发布了一份 GCC 状态报告,看上去仍然有近二十个最高优先级 (P1) 的性能衰退问题有待解决。

来自 SUSE 的 GCC 12 发布经理 Richard Biener 评论说: "while we've made progress since mid January in the quest to squash P1 regressions and other important bugs there's still quite a bit of work ahead." 自 1 月中旬以来,他们已经处理了 15 个 P1 级别的问题,而仍然有 23 个其他的 P1 问题导致我们无法发布 GCC 12.1 版本。保持零 P1 级别问题是一项基本要求。

虽然 P1 的个数越来越低,但今天的状态报告显示 P2 总数增加了 77 个,总数为 387,P3 数为 84 个(下降了 202 个),另外还新增了 27 个 P4 导致 P4 总数增加到 248 个。

新闻出处,“GCC 12 Still Has More Regressions To Stomp Before Release”: https://www.phoronix.com/scan.php?page=news_item&px=GCC-12-More-P1-Regressions

关键词: GCC

联系我们

欢迎扫描二维码加微信联系我们:

tinylab wechat



Read Album:

Read Related:

Read Latest: