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

泰晓RISC-V实验箱,不会吃灰,开箱即用
请稍侯

泰晓资讯·3 月 / 第四期 / 2022

unicornx 创作于 2022/03/24

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

  • Linux 内核最新消息

https://lkml.org/lkml/2022/3/20/213

在发布计划延迟一周后,Linus Torvalds 于 20 日发布了 Linux 5.17 稳定版。

Linux 5.17 具有许多新功能,包括替代 ACPI CPUFreq 的新的 AMD P-State 驱动程序、用于 KVM 虚拟化的 Intel AMX 支持、初步对 Intel Raptor Lake 支持、针对 Intel 平台的固件运行时更新支持、通用触控笔支持、各种性能优化等等。

在 v5.17 的公告中,Linus 写道,"So we had an extra week of at the end of this release cycle, and I'm happy to report that it was very calm indeed. We could probably have skipped it with not a lot of downside, but we did get a few last-minute reverts and fixes in and avoid some brown-paper bugs that would otherwise have been stable fodder, so it's all good."。虽然 5.17 比原计划推迟了一周发布,但质量得到了保证。

5.18 开发周期又开始啦,又是一个让人充满期待的新版本。

https://www.kernel.org/ updated by 2022/3/24

分支类型版本发布时间
mainline5.172022-03-20
stable5.16.172022-03-23
longterm5.15.312022-03-23
longterm5.10.1082022-03-23
longterm5.4.1872022-03-23
longterm4.19.2362022-03-23
longterm4.14.2732022-03-23
longterm4.9.3082022-03-23
linux-nextnext-202203232022-03-23

关键词: Linux

  • Linux 5.18 更新调度器,改进了 AMD EPYC 服务器的 NUMA 处理

Ingo Molnar has begun sending out the pull requests for the code he oversees in the kernel for the newly-opened Linux 5.18 merge window. The scheduler updates this cycle are rather notable especially for AMD Linux server users.

Ingo Molnar 已经开始为新打开的 Linux 5.18 合并窗口提交新的 PR。此开发周期中针对内核调度程序的更新非常值得我们注意,尤其是对于 AMD Linux 服务器的用户。

在 Linux 5.18 调度程序中有关 NUMA balancing 的代码中,在处理 CPU-less 节点和针对每个节点具有多个 LLC 缓存域的系统调节参数方面都有改进。后者围绕每个节点的多个缓存进行的更改恰好对现代 AMD 服务器处理器设计很有用。通过一些基准测试我们发现,这些改进对 AMD EPYC 服务器上的某些工作负载具有非常积极的影响。

除了以上改进,补丁还包含了对 deadline 调度器代码的清理,对 CPU accounting 的问题修复,以及对 AArch64 的抢占动态支持以及其他修复。

针对调度程序代码的改动还引入了与其相关的 “Fast Kernel Headers,简称 FKH” 方面的修改,这部分改动只是该 FKH 补丁系列的一小部分,其他 “FKH” 补丁改动仍然处于代码审查和测试中。

更多更详细的描述请参考原文新闻出处,“Linux 5.18 Scheduler Updates Improve NUMA Balancing For AMD EPYC Servers” https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.18-Scheduler

关键词: Linux, Scheduler

  • Linux 5.18 正试图统一 AMD 和 Intel 的代码

Thanks to the nature of open-source and independently-controlled projects like the Linux kernel, there is already much code sharing among competitive hardware vendors in areas where applicable. Much of the Linux kernel’s x86/x86_64 code is shared between AMD and Intel (and VIA, Centaur, and Hygon for that matter) where relevant while due to different supported features and implementation differences there is divergence at times. With Linux 5.18 there are two features currently with unique AMD and Intel code paths that are working towards more unification.

由于 Linux 这类开源项目的独立性,即使是商业上竞争的硬件相关的代码在 Linux 中也存在很多代码共享。Linux 内核中 x86/x86_64 的代码有很多情况下在 AMD 和 Intel(以及 VIA、Centaur 和 Hygon)之间共享,但由于需要支持不同的特性和实现上差异,有时依然会出现分歧。在 Linux 5.18 中,目前在两个特性上 AMD 和 Intel 的代码路径是完全不同的,但它们正在朝着更加统一的方向努力。

第一个是针对 x86/cpu,Linux 5.18 正试图将 AMD 和 Intel 的 PPIN 代码合并到一个共享的目录下。这些代码有关 AMD 和 Intel CPU 都支持的 Protected Processor Inventory Numbe (或者叫 Protected Processor Identification Number)。

另一个针对 Linux 5.18 的 Intel/AMD 代码共享改进是正在努力允许在内核中共享更多的 confidential computing 相关代码。 这部分代码在 x86/cc 下,摘录自 Borislav Petkov 的话: "Add shared confidential computing code which will be used by both vendors instead of proliferating home-grown solutions for technologies which are pretty similar."

更多介绍请阅读新闻出处,“Linux 5.18 Unifying Two More Portions Of AMD & Intel Code”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.18-Intel-AMD-PPIN-CC

关键词: Linux, AMD, Intel

  • Linux 5.18 中将为 DAMON 添加 DAMOS 配置接口

Added to the Linux kernel last year was Amazon’s DAMON for data access monitoring that has seen public patches since early 2020. Since its Linux 5.15 introduction, this kernel functionality has continued to see new functionality tacked on and now for Linux 5.18 is DAMOS.

去年 Linux 内核中添加了一个由 Amazon 提供的新特性 DAMON,用于数据访问监控。自从在 Linux 5.15 中推出以来,此内核特性不断增加新功能,目前正在开发的为 DAMON 引入了一个 sysfs 接口,并被称为 “DAMOS(DAMON-based Operation Schemes)”。这周二已经被 Andrew Morton 合并进 5.18。

DAMON 的 sysfs 接口(DAMOS)旨在提高围绕 DAMON 的可配置性和优于现有 DebugFS 接口的设计。DAMON 的这个新的 sysfs 接口被设计为更易于使用和更易于扩展。DAMOS 依赖于 sysfs 的目录层次结构,并根据 sysfs 要求为每个值提供一个专用文件。以下是补丁系列对 DAMOS 工作的总结:

At the moment, DAMON_DBGFS and DAMON_SYSFS provides same features. One important difference between them is their exclusiveness. DAMON_DBGFS works in an exclusive manner, so that no DAMON worker thread (kdamond) in the system can run concurrently and interfere somehow. For the reason, DAMON_DBGFS asks users to construct all monitoring contexts and start them at once. It's not a big problem but makes the operation a little bit complex and unflexible.

For more flexible usage, DAMON_SYSFS moves the responsibility of preventing any possible interference to the admins and work in a non-exclusive manner. That is, users can configure and start contexts one by one. Note that DAMON respects both exclusive groups and non-exclusive groups of contexts, in a manner similar to that of reader-writer locks. That is, if any exclusive monitoring contexts (e.g., contexts that started via DAMON_DBGFS) are running, DAMON_SYSFS does not start new contexts, and vice versa.

可见目前,DAMON_DBGFSDAMON_SYSFS 提供相同的功能。它们之间的一个重要区别是: DAMON_DBGFS 以独占方式工作,因此系统中的任何 DAMON 工作线程 (kdamond) 都不能同时运行,它们之间是互斥的。这不是一个大问题,但使操作有点复杂和不灵活。为了更灵活的使用,DAMON_SYSFS 在此做了改进。所以 DAMON 的 DebugFS 接口最终将被弃用,我们将只关注 sysfs 接口。

更多介绍请阅读新闻出处,“Linux 5.18’s DAMON Adds DAMOS Configuration Interface”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.18-DAMON-DAMOS

关键词: Linux, DAMON, DAMOS

  • QEMU 7.0 进入 rc0 阶段

QEMU 7.0 is working its way towards release as an important component to the open-source Linux virtualization stack. QEMU 7.0 brings with it many notable new features and changes for this open-source processor emulator.

QEMU 这个 Linux 软件生态中的重要软件工具即将发布 7.0 版本,在这个新的版本中该开源模拟器为我们带来了许多值得注意的新特性和变化。

在上周 QEMU 发布了 7.0 周期的第一个 RC 版本 rc0。从现在起和 Linux 开发类似,将每周发布一个 RC 版本,直到正式的 QEMU 7.0 稳定版本准备就绪。QEMU 7.0 暂定于 4 月中旬左右发布,具体取决于期间会有多少个 RC 版本会推出。

QEMU 7.0 重点增加了对 Intel AMX 的支持,这一点也是基于 Linux KVM 对 Intel Advanced Matrix Extensions 的良好支持。这个版本还为 RISC-V 架构做了很多工作,当然还有一些其他的改进,这些亮点包括:

  • 许多针对 ARM 架构的改进,包括支持新的 mori-bmc 开发板、支持模拟更多的硬件特性,以及对 virt 开发板的改进。
  • OpenRISC 现在最多支持四个处理器核,而之前最多只支持两个。针对 OpenRISC,qemu 现在还可以自动生成 DeviceTree 并将其传递给内核。
  • QEMU 7.0 删除了对旧的 PowerPC 401/403/601/602 CPU 的支持。
  • QEMU 的 Tiny Code Generator(TCG) 已放弃对 ARMv4 和 ARMv5 处理器的支持。
  • 对 RISC-V 现在支持已经标准化的 Vector 1.0 扩展以及 Zve64f、Zve32f 等其他新扩展。
  • 实现对 Linux 内核中刚进入上游的 RISC-V KVM 的支持。
  • 针对 RISC-V,QEMU 还有其他改进,例如默认启用 hypervisor 扩展和对 128 位 CPU 的实验性支持。
  • 增加了对 Intel AMX 的支持。
  • ……

QEMU 7.0 更改的更多详细信息,请参阅 QEMU.org Wiki: https://wiki.qemu.org/ChangeLog/7.0

更多介绍请访问新闻原文出处,“QEMU 7.0 Is Coming With Intel AMX Support, Many RISC-V Improvements” https://www.phoronix.com/scan.php?page=news_item&px=QEMU-7.0-Coming

关键词: QEMU, RISCV-V

  • LLVM / Clang 14.0 即将发布

LLVM 14.0 and sub-projects like Clang 14 have been tagged with the official sources now available and the binaries for various platforms are beginning to be uploaded.

LLVM 14.0 和 Clang 14 等子项目已被标记为可用,并且开始上传各种平台的二进制文件。LLVM/Clang 14 是这个开源编译器每六个月发布一次更新,比 GCC 12 早了大约一个月。LLVM 14.0 和 Clang 14.0 的主要变化包括:

  • 支持 ARMv9-A 架构,包括 ARMv9.1-A 和 ARMv9.2-A 和 ARMv9.3-A。 Clang 还增加了对 ARM Cortex X2、A710 和 A510 处理器的支持。
  • 另一个 ARM 相关的更改是 Clang 现在支持 AArch64 上的 “-mtune” 标志。
  • 为新的 Intel 服务器 CPU 添加了对 AVX512-FP16 指令的支持。
  • Clang 支持使用 “-mcpu =” 参数指定多种 SiFive RISC-V 处理器类型,包括从 SiFive E20 到 SiFive S76。
  • Clang 添加了更多内容,为 C23 做准备。
  • Clang 现在支持最高 v11.5 的 NVIDIA CUDA 版本,并且还将默认 GPU 架构目标升级到 sm-35。
  • Clang 现在使用 DWARFv5 作为支持的默认调试格式,而不是 DWARFv4。
  • 在构建 Clang 时,现在在 Linux 上默认使用 -fPIE-pie,和 GCC 的行为保持一致。
  • Clangd 现在默认提供 inlay hints 作为文本提示。
  • Libc++ 现在支持 C++20 协程、C++20 格式头文件以及其他 C++20 和早期 C++2b 工作。
  • Facebook 的 BOLT 被合并以优化生成的二进制文件的布局。
  • 适用于 AMD HIP 到 SPIR-V 的 HIPSPV。
  • 持续的性能优化。

新闻出处,“LLVM / Clang 14.0 Prepared For Release With With Armv9, BOLT, More C++20 & C23”: https://www.phoronix.com/scan.php?page=news_item&px=LLVM-14.0-Released

关键词: LLVM, Clang

  • OpenJDK 18 发布

Oracle today announced the general availability of JDK/OpenJDK 18 as the reference implementation of Java 18.

Oracle 于 22 日宣布全面推出 JDK/OpenJDK 18 作为 Java 18 的参考实现。OpenJDK 18 现在已准备好投入使用,其中包括一些新功能以及 数百个较小的增强功能和一千多个错误修复。

值得注意的是,在 OpenJDK 18 中 UTF-8 最终成为 Java SE API 的默认字符集。此更新还包括 Java 向量 API 的最新工作,该 API 在运行时允许对给定处理器(如 AVX 或 NEON)使用最佳向量指令使用。

OpenJDK 18 的另一个值得注意的新增功能是包含一个简单的 Web 服务器作为发布包的一部分。Jwebserver 是一个新的命令行工具,用于启动基于 Java 的最小静态 Web 服务器,它包含在 JDK 中。

OpenJDK 18 还添加了对 G1 垃圾收集器中 heap 的支持,最大可回收 512MB 的内存区以及各种其他改进。

感兴趣的同学可以访问 jdk.java.net(https://jdk.java.net/18/) 下载 JDK 18 GA 版本以及更多详细信息。

新闻出处,“OpenJDK 18 Released With A Simple Web Server, UTF-8 By Default”: https://www.phoronix.com/scan.php?page=news_item&px=OpenJDK-18-Released

关键词: Oracle,OpenJDK

联系我们

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

tinylab wechat



Read Album:

Read Related:

Read Latest: