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

儿童Linux系统,可打字编程学数理化
请稍侯

泰晓资讯·11 月 / 第三期 / 2021

unicornx 创作于 2021/11/18

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

Linux 内核最新消息

https://lkml.org/lkml/2021/11/14/298

Linus Torvalds 于本周日(Nov/14)关闭了 merge window,并发布了 Linux 5.16-rc1,社区继续进入下一轮为新版本的内核修 bug 的周期。

Linux 5.16 为我们带来了大量令人兴奋的新特性,包括 memory folios、基于 DAMON 的内存回收、各种文件系统改进、对 Intel Alder Lake S 显卡的支持、RISC-V 对 KVM 的支持、支持 Nintendo Switch 控制器、更多对 Apple 芯片的支持、对 Intel AMX 的支持、集群调度、各种 AMD 硬件支持添加、以及 FUTEX2 等等。部分新特性已经在上周的 “泰晓资讯” 给大家介绍过。

从新增特性列表上看起来 Linux 5.16 是一个非常令人兴奋的内核,预期它的稳定版本将在今年年底或明年 1 月初发布。到目前为止,Linux 5.16 的状态看起来相当不错,尽管至少有一个显着的性能衰退在 RC 期间有待修复,当然后面肯定还会有其他 bug 会出现。

因为 5.15 是万圣节期间发布的,所以紧跟着发布的 Linux 5.16-rc1 不久前被赋予 “Trick or Treat”(中文翻译过来就是 “不给糖就捣蛋”) 的 codename。

Linus Torvalds 在 5.16-rc1 的发布邮件中是这么评价本次 merge window 的:"I actually anticipated more problems during the merge window than we hit - I was traveling with a laptop for a few days early on in the merge window, and that's usually fairly painful. But - knock wood - it all worked out fine. Partly thanks to a lot of people sending in their pull requests fairly early, so that I could get a bit of a head start before travels."。看起来 Linus 先生对这次新版本内核的 merge 工作相当满意。

https://www.kernel.org/ updated by 2021/11/19

分支类型版本发布时间
mainline5.16-rc12021-11-14
stable5.15.32021-11-18
stable5.14.202021-11-18
longterm5.10.802021-11-18
longterm5.4.1602021-11-17
longterm4.19.2172021-11-12
longterm4.14.2552021-11-12
longterm4.9.2902021-11-12
longterm4.4.2922021-11-12
linux-nextnext-202111182021-11-18

关键词: Linux

近期 Linux 内核的重要补丁(节选)

Architecture-specific

Core kernel

Virtualization and containers

关键词: Linux

升级后的 Zstd 合入 Linux 5.16,性能大幅提高

While Zstd is used in various areas of the Linux kernel for data compression from transparent file-system compression with the likes of Btrfs to allowing kernel modules be compressed with this Zstandard algorithm, the in-kernel code had fallen years outdated. Finally with Linux 5.16 that Zstd in-kernel implementation is now being brought up to modern standards and delivering better performance too.

Zstd 在 Linux 内核中应用广泛,从 transparent file-system compression(譬如 Btrfs 上的数据压缩)到使用其提供的 Zstandard 算法压缩内核模块。但由于其引入内核的历史由来已久而且一直没有更新,所以 Zstd 的代码略显过时。但上周六合入 Linux 5.16 的 Zstd 代码做了重大升级。升级包括对 Zstd 实现了一个符合新内核风格的包装 API,并从上游 Zstd 升级了 Zstd 算法。

在 Linux 5.16 中,更新后的 Zstd 会提供更好的性能。据测算 Btrfs Zstd 解压速度可以提高约 15%,SquasFS Zstd 解压速度也提高约 15%,F2FS Zstd 解压速度提高 20% 以上,zRAM 解压速度提高约 30%,内核 Zstd 映像解压速度提高了 35% 左右。

近期 Zstd 还会有更多的性能优化,继此次内核主线更新后。Zstd 1.5.1 应该很快就会发布,届时内核也会与其对齐以更好地提供最新的改进。

如果您对 Zstd 的 CPU 性能基准测试数据感兴趣,请参阅此 OpenBenchmarking.org 页面(https://openbenchmarking.org/test/pts/compress-zstd#results),了解许多不同处理器的综合排名。

原文新闻出处,“Modernized Zstd Merged Into Linux 5.16 For Much Greater Performance” https://www.phoronix.com/scan.php?page=news_item&px=Zstd-Updated-For-Linux-5.16

关键词: Linux, Zstd

Linux 5.16 中合入的 RISC-V 改动

The RISC-V architecture updates were sent out on Friday for targeting the nearly-over Linux 5.16 merge window.

有关 RISC-V 架构的更新于上周五提交,终于赶在 Linux 5.16 的 merge window 快要结束的时候合入了内核主线。

针对 5.16 的 RISC-V 更新包括以下内容:支持 RISC-V 32 位 “rv32” 的 randconfig 内核构建;支持 VDSO 中的 time 命名空间;改进 XIP 端口;以及针对 DeviceTree 的清理等等。

针对 RISC-V 的 Linux 内核的默认构建配置 “deconfig” 也已更新,开源 NVIDIA 的 “Nouveau” 驱动程序被作为默认模块加入中。从 Nouveau 驱动程序方面来看,本次 5.16 周期中并没有为 RISC-V 做什么特别的改动,但加入 defconfig 后该驱动程序将作为默认的模块参与构建和运行。

NVIDIA 尚未开放任何针对 RISC-V Linux 的驱动程序,但事实证明,Nouveau 驱动程序现在应该适用于这个开源处理器 ISA。对于 SiFive 的 HiFive Unmatched 出色的开发板,他们推荐使用开源软件栈的老款 AMD Radeon 显卡,老一代显卡在 RISC-V 上运行良好,但事实证明 Nouveau for NVIDIA 显卡应该也可以正常运行。

对于那些对 RISC-V 感兴趣的人来说,带有 Nouveau 的 GTX 600 / 700 系列也是一个最佳选择,因为它是 NVIDIA 强制签名固件 blob 之前的最后一代产品。使用 GTX 600 / 700 系列,不需要固件二进制文件,但更新的 GPU 是需要这些的。

新闻出处,“RISC-V With Linux 5.16 Enabling Open-Source NVIDIA Driver As Part Of Default Kernel” https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.16-RISC-V

关键词: Linux,RISC-V

“MGLRU” 代码更新,有助于提高 Linux 页面回收性能

While not coming as part of the new 5.16 cycle, one of the exciting patch series to come about this year has been Google’s work on the Multigenerational LRU (MGLRU) Framework for improving performance around the kernel’s page reclaim handling.

虽然还没有被合入新的 5.16 版本内核,但作为今年最令人兴奋的补丁之一是 Google 在 Multigenerational LRU (简称 MGLRU) 框架上的工作,这个补丁的好处是有助于提高内核 “页面回收(page reclaim)” 的性能。而当前内核的页面回收功能有时在回收策略上会做出错误的选择,导致 CPU 的开销太大。Google 实现早期 Multigenerational LRU 算法在 Android 上运行显示会减少由于低内存而导致杀死进程,减少了约 16% 的冷启动次数。在 Chrome OS 上,他们发现此代码也非常有用,在浏览器中将因为 OOM 而导致异常退出的次数减少了 59% 以上,由于内存太低而导致的页面关闭次数减少了 96%。无论是在移动设备上还是在服务器上,测试结果都表明,应用该补丁后,在内存紧张时,CPU 使用率更低,系统处理能力更好。

Google 的工程师持续改进该补丁,在改进 Linux 页面回收性能上取得了可喜的成果。最近发布了 v4 补丁,并迅速 rebase 到 5.15 内核,发布了 v5。

尽管 Google 提供的 multigen LRU 的测试结果都与运行 Chrome OS 的笔记本电脑和 Android 智能手机有关,但最近发布的数据是来自引用了该补丁 MariaDB。"With the MGLRU, MariaDB achieved 95% CIs [5.24, 10.71]% and [20.22, 25.97]% more transactions per minute (TPM), respectively, under the medium- and high-concurrency conditions when slightly overcommitting memory. There were no statistically significant changes in TPM under other conditions."。看起来在某些方面对大型系统的性能改善也有显著提高。

如果想要试用 MGLRU 或想要阅读所有技术细节,可以在内核邮件列表中找到可应用于 Linux 5.15 的 v5 补丁。希望 MGLRU 能在 2022 年进入主线内核。

更多介绍请阅读新闻出处,“”MGLRU” Code Updated For More Performant Linux Page Reclamation”: https://www.phoronix.com/scan.php?page=news_item&px=Multigen-LRU-v5

关键词: Linux, Google, Multigenerational LRU

在 Linux 5.17 中将继续对 I/O 进行优化

The recently-ended Linux 5.16 merge window saw significant I/O improvements driven primarily by maintainer Jens Axboe’s recent focus on relentlessly optimizing the block and IO_uring code for record-setting per-core IOPS. As good as those improvements are, Linux 5.17 should be even better.

在最近结束的 Linux 5.16 合并窗口期间我们看到了在 I/O 上的重大改进,这主要是由 block 子系统的维护者 Jens Axboe 所领导的不懈地对 block 子系统和 IO_uring 的优化工作,Axboe 的大部分围绕 I/O 进行优化的工作都合入了 Linux 5.16 中,这些工作在带有两个 Intel Optane NVMe 固态硬盘的新 Ryzen 9 5950X 系统上进行了测试,在每核的 IOPS 数据上创下了有史以来的最高记录。但这还不是结束,还有更多的工作有待改进,在未来的 Linux 5.17 中我们有理由相信还会更进一步。

在 5.16 的合并窗口关闭后,Axboe 又提交一些新的性能优化补丁以供审核。这些修改有关 blk-mq 的批处理问题,在 NVMe 上的测试发现有 5-6% 的性能改进。https://t.co/81oLXMsMnk

有关 I/O 的优化工作将继续合入 perf-wip 分支中。到目前为止,有 38 个补丁作为添加进来。 Axboe 还提到他正在组装 Intel Core i9 12900K 系统,用来与 Ryzen 9 5950X 进行比较,并探索在 Alder Lake 上是否能有更多存储性能的优化。

这项正在进行的工作以及其他内核优化总是让我们对下一个内核版本感到兴奋。

更多介绍请阅读新闻出处,“Linux 5.17 To Continue With I/O Optimizations, 5~6% Improvement Pending For NVMe”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.17-Will-Continue-IO

关键词: Linux,I/O

GCC 12 继续修复错误,现进入 “Stage 3”

As expected GCC 12 has now entered its “stage 3” development phase where the free software developers involved will focus on bug fixing rather than landing shiny new features.

目前进展顺利,GCC 12 现已进入 “Stage 3”,目前将专注于 bug 修复而不是加入新功能。

SUSE 的 Richard Biener 周一宣布,GCC 开发分支现在专注于一般错误修复。目前大约有 34 个 P1(即最高优先级的错误),其次是 P2 级别的 306 个,以及大约 237 个 P3 问题。这些错误需要在 GCC 12.1 明年发布之前解决。

GCC 的 “Stage 3” 大约是两个月的时间,专注于错误修复,同时通常不会引入新的功能代码,尽管也有例外,即确定新功能不会让编译器有性能倒退的风险。之后是 “stage four”,专注于回归修复直到发布。

GCC 12 中的变化包括初始 Armv9-A 支持和添加 Cortex-A710 之类的新 target、RISC-V 改进(如 Bitmanip 扩展)、更新的 Alder Lake 调整、auto-vectorization 针对 -O2 的优化、AVX-512 FP16 支持、堆栈变量自动初始化、静态分析器改进、#elifdef#elifndev 等等。

如果一切顺利并且按照通常的时间安排,作为第一个稳定的 GCC 12 编译器版本的 GCC 12.1 应该会在 4 月左右发布。如果传统保持不变,Fedora 36 可能会成为春季第一个使用 GCC 12 作为默认系统编译器的主要发行版。与此同时,像 Ubuntu 这样的公司会在秋季发布的 22.10 中使用 GCC 12。

更多介绍请阅读新闻出处,“GCC 12 Moves On To Fixing Bugs - Now In “Stage 3” Development”: https://www.phoronix.com/scan.php?page=news_item&px=GCC-12-Enters-Stage-3

关键词: GCC

GCC 上的针对 RISC-V 的 “标量加密(Scalar Cryptography)” 补丁准备就绪

Patches were recently sent out that implement support for RISC-V’s Scalar Cryptography Extension within the GNU Compiler Collection.

RISC-V 的 Scalar Cryptography Extension 的标准制定工作最近结束了公开审查期(public review period )。这组扩展旨在通过定义专用的指令,加速 AES 加密/解密、SM4 和 SM4 密码、熵源扩展、加密位操作、无进位乘法等功能,增强 RISC-V 的加密工作能力。

加密相关的 RISC-V 的标准公开在 GitHub 上,截至上周,其版本达到 “1.0.0-rc6” 状态。“v1.0” 的里程碑即将到来,同时发布了一组 21 个补丁,用于实现对 GCC 编译器内指令的支持。这些补丁正在邮件列表中进行审查,尽管 GCC 12 很快就会进入下一个(错误修复)开发阶段,目前尚不清楚这项工作是否会被合并到 GCC 12 或推迟到 GCC 13。无论如何, RISC-V 的加密工作正在向前推进。

更多介绍请阅读新闻出处,“GCC Patches Pending For RISC-V’s Scalar Cryptography Extension”: https://www.phoronix.com/scan.php?page=news_item&px=RISC-V-Scalar-Crypto-GCC

关键词: GCC, RISC-V, Scalar Cryptography

QEMU 6.2 进入集成测试阶段,预期 12 月中旬推出

This week marked the release of QEMU 6.2-rc0 as the first test candidate for this upcoming update that plays an important role in the open-source Linux virtualization stack.

上周末 QEMU 6.2-rc0 发布,这是即将到来的下一个正式版本 6.2 的第一个测试候选版本。rc0 里程碑标志着 QEMU 6.2 的将不再加入新的功能开发。现在起每周都会发布候选版本,直到 QEMU 6.2.0 准备好稳定发布,这应该在 12 月中旬左右。

QEMU 6.2 带来的变化和改进包括:

  • 结合功能强大的 KVM,现在在虚拟机中支持 Intel SGX(Software Guard Extensions)。
  • 在配备 Apple Silicon SoC 的 macOS 主机上,QEMU 现在支持 HVF 加速器来运行 AArch64 客户机。
  • QEMU 的 Tiny Code Generator(TCG)现在支持 Fujitsu 的高性能 ARM 处理器 A64FX。
  • 支持更多 RISC-V 指令、SiFive PWM 支持以及处理此开源处理器 ISA 的其他改进。
  • 改进了 IBM POWER10 支持。
  • 添加了 Intel Snow Ridge v4 CPU 模型。

更多介绍请阅读新闻出处,“QEMU 6.2 On The Way With SGX For VMs, Apple Silicon, More RISC-V”: https://www.phoronix.com/scan.php?page=news_item&px=QEMU-6.2-Coming

关键词: QEMU

联系我们

资讯内容部分来自 “LWN.net“。如果您对某些 LWN 文章感兴趣(譬如希望获得全文翻译的)请扫描二维码加微信联系我们:

tinylab wechat



Read Album:

Read Related:

Read Latest: