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

泰晓RISC-V实验箱,转战RISC-V,开箱即用
请稍侯

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

unicornx 创作于 2022/08/11

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

Linux 内核最新消息

本周为 Linux 6.0 的 merge window 期,没有新版本发布。更多内核社区新特性请移步接下来的本周资讯详情。

https://www.kernel.org/ updated by 2022/8/11

分支类型版本发布时间
mainline5.192022-07-31
stable5.18.162022-08-03
longterm5.15.592022-08-03
longterm5.10.1352022-08-03
longterm5.4.2092022-08-03
longterm4.19.2542022-07-29
longterm4.14.2902022-07-29
longterm4.9.3252022-07-29
linux-nextnext-202208102022-08-10

关键词: Linux

Linux 6.0 中针对 RISC-V 的新改进

Each new kernel cycle there continues to be more maturity to the RISC-V processor architecture code. With Linux 6.0 there are a few new features wired up as well as bug fixes / clean-ups.

每一个新的内核周期,RISC-V 处理器架构代码都会继续更加成熟。在 Linux 6.0 中,RISC-V 有以下这些更新。

Linux 6.0 中的 RISC-V 代码改进了其对 Svpbmt 的支持,Svpbmt 是支持 Page-Based Memory Types 的 RISC-V 扩展。自今年早些时候以来,Svpbmt 一直用于 Linux 内核,该扩展定义了针对 non-cacheable 页、I/O 内存页等的行为。Svpbmt 是在 Linux 5.19 中添加的,现在在 6.0 周期中得到了进一步改进。

Linux 6.0 中针对 RISC-V 的更改还包括一个更有用的默认配置 “defconfig”。 Linux 6.0 RISC-V defconfig 现在启用了足够的开箱即用功能,使 Docker 可以毫无问题地运行。此外,还提供了 Ubuntu Snaps 所需的更多内核功能。

Linux 6.0 的其他 RISC-V 补丁包括针对更多系统的 CPU 拓扑绑定、对具有 64 位 hart ID 的系统的支持以及其他清理和改进。

新闻出处,“RISC-V With Linux 6.0 Improves Svpbmt, More Useful Default Kernel Configuration”: https://www.phoronix.com/news/Linux-6.0-RISC-V

关键词: Linux,RISC-V

Linux 6.0 为 64 位 Arm 添加 EFI 镜像内存和 ACPI PRM

The EFI changes were merged last week for the Linux 6.0 cycle and contain two notable improvements on the ARM64 side.

上周,Linux 6.0 合入了 EFI 相关的更改,其中包含针对 ARM64 方面的两个显著的改进。

第一个是它包含了 Huawei 今年早些时候发布的支持 ARM64 上 UEFI 镜像内存(Mirrored Memory)的工作。UEFI 镜像内存已经在 x86/x86_64 的 Linux 上工作了很多年,而现在它也可以在 AArch64 硬件上工作了。UEFI 允许设置基于地址范围的部分内存镜像,并可用于服务器上的冗余和可靠性目的。在内核准备好支持后,符合 UEFI 规范的 AArch64 硬件通过运行 Linux 6.0 以上版本的内核旧可以启用该特性。

除了 ARM64 镜像内存之外,6.0 的 Linux 还针对 ARM64 支持了 ACPI PRM(Platform Runtime Mechanism)。PRM 允许将一些系统管理中断 (SMI) 处理程序移出系统管理模式 (SMM) 的 “黑匣子”,从而可以在 OS/VMM 上下文中执行。在 ARM64 服务器上启用此 ACPI PRM 支持将减少某些服务器平台上在系统初始化阶段的运算开销。

除了以上针对 ARM64 的修改之外,Linux 6.0 中的 EFI 更改就不多了。

新闻出处,“Linux 6.0 Adds EFI Mirrored Memory & ACPI PRM For 64-bit Arm”: https://www.phoronix.com/news/Linux-6.0-EFI

关键词: Linux, ARM64, EFI,ACPI PRM

Rust for Linux 发布 v9 补丁

Earlier this week saw the Rust for Linux v8 patches posted that introduced a number of new abstractions and expanding the Rust programming language integration to more areas of the kernel. Those patches amounted to 43.6k lines of new code while “Rust for Linux v9” was posted today and comes in at just 12.5k lines of new code.

本周早些时候发布了 Rust for Linux v8 补丁,引入了许多新的抽象并将 Rust 编程语言集成扩展到内核的更多领域。这些补丁总计 43.6k 行新代码,而 Rust for Linux 于上周 5 日又发布了 v9,新代码只有 12.5k 行。

由于删除了许多额外的功能,Rust for Linux v9 比以前的补丁要小得多。现在的想法是针对 Rust for Linux 的集成工作第一步进行简化,先将主要部分进入内核主线,然后再逐渐增强和扩展。在 v9 中基于 v8 进行了精简,实现了足够的支持来编译一个最小的 Rust 内核模块。内核模块能够创建一个 Vec(一种连续的、可增长的数组类型),推送一些数字并在卸载时使用 pr_info! 宏将它们打印到内核日志中。

Rust for Linux 的首席开发人员 Miguel Ojeda 对 v9 补丁发表了如下评论:

“This is a trimmed down v8. It has enough support to compile a minimal Rust kernel module, with the aim to get the “core” support in first and then start upstreaming the rest piece by piece.

The kernel module is able to create a Vec (a contiguous, growable array type), push some numbers and print them on unload to the kernel log with the pr_info! macro.

The patch series could be made even more minimal by removing some of that too, but this seemed like a good balance.

After the diet regime, 3% of the kernel crate remains (down to 500 lines), 60% of alloc, and the “adapt alloc” commit is 100 lines. Overall, we went from 40 to 13 klines.

Most of the code has been around in linux-next for some months now, but to trim down things I had to do minor changes. In any case, please let me know if this selection is in line with what you expected.”

由于 v9 补丁的体积明显减少并坚持保留了最基础的部分,所以我们相信及时进入主线应该会容易得多。 Linus Torvalds 一直希望尽快合并它,所以我们将看看这个简化的工作现在是否足够好,这样 Linus Torvalds 可以继续在下周将它合并入 Linux 6.0。

新闻出处,“Rust For Linux Kernel v9 Patches Trim Things Down Greatly For Easier Upstreaming”: https://www.phoronix.com/news/Rust-For-Linux-v9-Patches

关键词: Linux,Rust

“CC_OPTIMIZE_FOR_PERFORMANCE_O3” 这个性能可调参数在 Linux 6.0 中被移除了

Following recent upstream discussions around the -O3 compiler optimizations for the Linux kernel, the Kconfig switch advertising this option is being removed in Linux 6.0.

最近围绕 Linux 内核的 -O3 编译器优化选项的讨论已接近尾声。早在 6 月,Linux 内核社区就围绕在 Linux 内核上使用 -O3 编译器优化展开了激烈的讨论。讨论中主要涉及目前内核中存在的 CC_OPTIMIZE_FOR_PERFORMANCE_O3 这个 Kconfig 开关,该开关为内核构建设置 -O3 编译器标志,但目前仅限于 ARC 这个 CPU 架构。有人提议扩展该选项,以便将其推广到内核所支持的所有 CPU 架构上,同时明确将其标记为实验性的。

在那次讨论中,Linus Torvalds 曾经反对采用 -O3 优化内核,因为编译器优化会引入潜在的难以诊断和重现的错误。其他上游内核开发人员也反对采用比默认 -O2 级别更高的优化级别,根据以往的经验,特别是使用旧的编译器时,采用 -O3 往往有引入更多错误。

此外,我们其实完全可以通过设置 KCFLAGS=-O3 来实现相同的功能,所以实际上我们完全实不需要再定义个类似功能的用 Kconfig 开关。所以现在的结论是,在 Linux 6.0 的 Kbuild 更新中,CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE_O3 这个选项也被删除了 :(。

那些希望更好地优化内核以提高性能的人仍然可以使用 KCFLAGS=-O3

新闻出处,“”CC_OPTIMIZE_FOR_PERFORMANCE_O3” Performance Tunable Dropped In Linux 6.0”: https://www.phoronix.com/news/Linux-6.0-Drops-O3-Kconfig

关键词: Linux

GNU Binutils 2.39 发布

Following the release of GNU Glibc 2.36 earlier this week, GNU Binutils 2.39 released today for this common set of binary utilities on open-source systems.

在早些时候发布 GNU Glibc 2.36 之后,5 日又发布了 GNU Binutils 2.39,Binutils 是开源系统上十分通用的一套专门处理二进制文件的实用程序。

GNU Binutils 2.39 添加的新特性中最值得注意的是,ELF 链接器如果发现 stack 区属性是可执行的时候会生成警告。另外,如果输出的二进制文件中的某个 segment 具有所有可读/可写/可执行权限,链接器现在也会发出警告。这些警告旨在帮助开发人员识别可能会受到可执行内存区域攻击的软件。Binutils 2.39 的这些警告默认启用,但可以通过新的命令行开关禁用。

GNU Binutils 2.39 还在 ELF 链接器中添加了一个 --package-metadata 选项,用于嵌入一个 JSON 的 payload 以支持 Package Metadata 规范。同时,Binutils 的 objdump 程序现在支持在其反汇编器输出中突出显示彩色语法。

新闻出处,“GNU Binutils 2.39 Released - ELF Linker Now Warns If A Stack Is Made Executable”: https://www.phoronix.com/news/GNU-Binutils-2.39-Released

关键词: GNU, Binutils

mold 1.4 发布,开始支持 32-bit RISC-V

Initial support for the 32-bit RISC-V (RV32) has landed.

‎mold 是一款新出现的链接器,主打特色是运行上的高速特性。‎上周该软件发布了最新的版本 1.4.0,在发布公告中,我们可以看到该链接器已经添加了对 RISC-V 32 位的初始支持。更多有关该软件的发布信息,请参考: https://github.com/rui314/mold/releases

关键词: mold,RISC-V

DreamWorks 开源 MoonRay 渲染器

DreamWorks Animation announced today that they intend to release their MoonRay production renderer as open-source softwate later in 2022. DreamWorks’ MoonRay renderer has been used for films such as How To Train Your Dragon: The Hidden World, The Bad Guys, Puss In Boots: The Last Wish, and other animated films.

DreamWorks (梦工厂) 动画公司于上周五宣布,他们打算在 2022 年晚些时候将其工业级渲染器 MoonRay 作为开源软件发布。梦工厂的 MoonRay 渲染器被用于多部电影,例如 How To Train Your Dragon: The Hidden World (驯龙高手3)、The Bad Guys(坏蛋联盟),Puss In Boots:The Last Wish(穿靴子的猫2),以及其他动画电影。

MoonRay 是一款经典的多机渲染器。梦工厂希望通过开源 MoonRay 使其成为更具竞争力的渲染器。MoonRay 支持使用 DreamWorks 的 Arras 分布式计算框架,并使用了一些 Intel 软件组件,例如 Embree 和 ISPC。

MoonRay 将在 Apache 2.0 许可下开源,目前正在审查以及清理代码以供发布,预计将在今年晚些时候签署。开源网站是 https://openmoonray.org/

拥有另一个出色的全功能渲染器会很有趣,并且对于一些硬件基准测试也应该是一种乐趣。

新闻出处,“DreamWorks Animation To Open-Source MoonRay Renderer”: https://www.phoronix.com/news/DreamWorks-MoonRay-Open-Source

关键词: DreamWorks, MoonRay

联系我们

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

tinylab wechat



Read Album:

Read Related:

Read Latest: