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

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

泰晓资讯·3 月 / 第二期 / 2023

unicornx 创作于 2023/03/09

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

Linux 内核最新消息

https://lkml.org/lkml/2023/2/19/309

Linux 6.3 的合并窗口现在已经结束,Linus Torvalds 本周初刚刚发布了 Linux 6.3-rc1。

Linux 6.3 将是一个变化很大的内核,其变化包括:EXT4 中更快的 direct I/O,对新的 ASUS(华硕)主板实现传感器监控功能,最终合入 AMD-Xilinx 的 XDMA 驱动,通过 Automatic IBRS对 AMD Zen 4 实现性能优化,实现 8BitDo Pro 2 有线控制器,合入Intel TPMI 驱动,以及各种其他 Intel 的更新,如通过加入 LKGS 指令更新了 TDX 和 CXL 等。像往常一样,每个内核周期都会发生很多事情。

Linus Torvalds 在 6.3-rc1 的发布公告中的评论如下,看上去他对刚刚完成的两周的合并工作感到极度舒适:

So after several releases where the merge windows had something odd going on, we finally had just a regular “two weeks of just merge window”. It was quite nice.

In fact, it was quite nice in a couple of ways: not only didn’t I have a hugely compressed merge window where I felt I had to cram as much as possible into the first few days, but the fact that we have had a couple of merge windows where I really asked for people to have everything ready when the merge window opened seems to have set a pattern: the bulk of everything really did come in early.

And again, that just makes the merge window work nicer for me, when I don’t sit there waiting, knowing that there’s stuff pending that just hasn’t had a pull request done yet.

So it all felt rather good. Of course, the fact that I had no machine issues, no holidays, and no travel coming up, then meant that I may have noticed a few more of the “people, please write good commit messages for merges” issues, so there’s a possible downside to me not being as hurried as the last few merge windows have been.

Linux 6.3 稳定版预计在 4 月底或 5 月初发布。

https://www.kernel.org/ updated by 2023/03/09

分支类型版本发布时间
mainline6.3-rc12023-03-05
stable6.2.22023-03-03
longterm6.1.152023-03-03
longterm5.15.982023-03-03
longterm5.10.1722023-03-03
longterm5.4.2342023-03-03
longterm4.19.2752023-03-03
longterm4.14.3072023-02-25
linux-nextnext-202303092023-03-09

关键词: Linux

新的 Linux 控制台实时化补丁

Posted today was the “v1” patch series implementing threaded/atomic console infrastructure for printk. This is one of the last steps needed before the real-time (PREEMPT_RT) support can be finally mainlined into the Linux kernel.

Linux 6.3 在 merge window 中合入了针对控制台(console)实现线程化和原子化打印的一系列基础补丁,而上周,来自 Linutronix(现属于 Intel)的 John Ogness 又继续跟进了,提交了一个新补丁的第一个版本,对该基础架构进一步完善。这些工作都是(PREEMPT_RT)这个超级特性最终完全合入 Linux 内核主线之前所需的最后步骤之一。

基于线程化和原子化的支持,每个控制台都有自己的 KThread,不同的控制台之间不会相互竞争,也不需要使用全局的控制台锁,控制台线程启动后我们可以针对每个控制台写入任何上下文,执行独立的打印,这能够使得多核系统全速运行而无需等待控制台打印,该补丁还支持了各种其他功能。

处于兼容性的考虑,传统的控制台目前仍然存在,我们可以通过配置选项 NOBKL 启动新的支持线程化和原子化的控制台。补丁中的介绍原文如下:

We believe that this series covers all printk features and usage to allow new threaded/atomic consoles to be able to replace the legacy consoles. However, this will be a gradual transition as individual console drivers are updated to support the NOBKL requirements.

This series does not include any changes to console drivers to allow them to act as NOBKL consoles. That will be a follow-up series, once a finalized infrastructure is in place. However, I will reply to this message with an all-in-one uart8250 patch that fully implements NOBKL support. The patch will allow you to perform runtime tests with the NOBKL consoles on the uart8250.

希望这些补丁能够得到很好的审查并顺利合入内核主线,进而解锁期待已久的实时 “PREEMPT_RT” 内核补丁,使其在今年完成最终的合入计划。

新闻出处,“New Threaded/Atomic Console Patches Posted For Linux - Precursor For Mainlining RT”: https://www.phoronix.com/news/Printk-Threaded-Atomic-v1

关键词: Linux, Console, PREEMPT_RT

Linux 6.3 将支持使用更少的 RAM 编译内核

For those doing large Linux kernel builds such as with the “allyesconfig” build option for including as many of the available drivers as possible into the assembled Linux kernel image, objtool improvements ready to go with Linux 6.3 should cut down on the RAM usage and also speed-up the kernel build time. These improvements were motivated by Linux kernel developers beginning to run out of memory when trying to carry out the “allyesconfig” kernel builds on desktops with 32GB of RAM.

对于那些进行大型 Linux 内核构建的人来说,例如使用 “allyesconfig” 配置选项,这将尽可能多的可用驱动程序包含 Linux 内核镜像文件中,目前看到一项针对 objtool 的改进会减少对 RAM 的消耗并加快内核构建时间,而且该改进将有可能被合入 Linux 6.3。这个改进的动机是因为发现一些 Linux 内核开发人员在尝试在具有 32GB RAM 的桌面系统上执行针对 “allyesconfig” 的内核构建会耗尽内存。

objtool 在内核编译时会被执行,以对编译对象的控制流图进行逆向工程,以达到各种验证/修改/优化的目的。该针对 objtool 的改进由来自 Intel 的 Peter Zijlstra 提交。对于 “allyesconfig” 的内核构建,应用 objtool 补丁后能够降低大约 6G 的内存消耗,并且构建速度也会比以前更快。objtool 补丁还缩小了 “struct instruction”,这进一步增强了 objtool 的性能,并减小了内存占用。

有了这个补丁,那些系统 RAM 甚至小于 32GB 的人现在也有可能在使用各种大型内核配置构建内核时获得成功。

新闻出处,“Linux 6.3 Improvements Yield Better Chances Of Successfully Compiling The Kernel With ~32GB RAM”: https://www.phoronix.com/news/Linux-6.3-objtool

关键词: Linux, objtool

Linux 6.3 中新的 ARM/RISC-V SoC 电源管理驱动程序

Following last week’s SoC and platform updates that included mainlining of the Snapdragon 8 Gen 2 support, new Qualcomm 5G RAN platform support, and many more Arm boards being enabled, this week saw the SoC driver updates now submitted.

上周的 SoC 和 platform 的合入了很多更新,这些更新包括对 Snapdragon 8 Gen 2 的支持,对新的 Qualcomm 5G RAN 平台的支持以及支持了很多 Arm 的开发板,在此之后本周我们又看到了许多 SoC 驱动程序的提交。

Arnd Bergmann 本周发布了针对 SoC 驱动程序的更新,以补充他上周的各种 ARM/RISC-V 的 PR。这些驱动程序更新中值得注意的是一些适用于不同 SoC 的新的电源管理驱动程序。

其中一个新驱动程序是 Allwinner D1 PPU 驱动程序,它适用于 Allwinner D1 PPU 电源。此驱动程序启用硬件电源序列引擎,当某些外围设备(如 SoC 的视频引擎)空闲时,可以节省电源。对于第一个 Allwinner RISC-V SoC 来说,这是一个好消息,它通过 Linux 6.3 改进了电源管理。另外一款是针对 StarFive JH7110 的电源驱动程序(jh71xx_pmu),JH7110 是 VisionFive 2 这款 RISC-V 开发板使用的 SoC 。

针对 ARM,则是增加了对 Renesas 的 RZ/V2M 外部电源序列控制器(PWC)的支持。Linux 6.3 还带来了一些较旧的高通 SoC 所需的 Qualcomm Ramp Controller 驱动程序,以启用 CPU DVFS(Dynamic Voltage Frequency Scaling)支持。

新闻出处,“New ARM/RISC-V SoC Power Management Drivers Arrive For Linux 6.3”: https://www.phoronix.com/news/SoC-Drivers-Linux-6.3

关键词: Linus, ARM, RISC-V, Driver

Linux 6.3 为 Zstd 带来了一些修复,但更大的更新被延迟到 v6.4

Merged last cycle was a big Zstd update for Linux 6.2 that took the kernel’s Zstandard compression/decompression implementation to match that of upstream v1.5 after being stuck in the v1.4 series for more than a year. Following that, Zstd 1.5.4 was released last month. The hope was Zstd 1.5.4 would quickly follow into the mainline kernel while that is now delayed to Linux 6.4 and for the 6.3 kernel cycle seeing just a few fixes.

目前 Zstd 越来越多地用于整个 Linux 内核,从文件系统压缩到压缩内核构建、固件压缩以及各种其他数据压缩和解压缩处理。Linux 6.2 中合入了一个很大的针对 Zstd 的更新,在停留在 v1.4 长达一年多之后,内核的 Zstandard 压缩/解压缩实现终于追上了上游的 1.5 版本。在此之后,Zstd 于上个月发布了版本 1.5.4。虽然我们曾经希望 Zstd 1.5.4 能够迅速进入主线内核,但现在看上去这个事情要延迟到 Linux 6.4 了,因为 Zstd 1.5.4 的发布没有在 linux-next 分支上经过更好地测试,所以这次赶不上 6.3 的 merge window 了。

但无论如何,对于 Linux 6.3 中的 Zstd 更改,至少有一些 bug 修复。这些 bugfix 包括:解决了一个 in-place decompression 的问题;一个编译器警告相关的修复;一个 assrt() 逻辑的修复。所以虽然比不上看到 v1.5.4 迅速被合入内核那么令人兴奋,但至少目前内核中 zstd v1.5 的状态比 6.2 之前的内核更好,并且新的 Zstd 代码将有额外的时间来运行充分的测试。

新闻出处,“Zstd Gets A Few Fixes For Linux 6.3 While The Big Update Delayed To v6.4”: https://www.phoronix.com/news/Linux-6.3-Zstd

关键词: Linux, Zstd

Ubuntu 正式宣布支持又一款 RISC-V 开发板 - PolarFire SoC FPGA Icicle 套件

Following work bringing Ubuntu Linux to the RISC-V boards like the StarFive VisionFive 2, LicheeRV, Nezha, and others, Canonical today announced they have published an optimized RISC-V image for the Microchip PolarFire SoC FPGA powered “Icicle Kit” development board.

继将 Ubuntu Linux 移植到多种 RISC-V 开发板(如 StarFive VisionFive 2,LicheeRV,Nezha 等)之后,Canonical 于本周三宣布他们已经为采用 Microchip PolarFire SoC FPGA 作为处理器的 “Icicle Kit” 开发板发布了优化的 RISC-V 系统镜像。

Icicle Kit 是一款 RISC-V 开发板,板子上除了 SoC FPGA 之外,还附带采用了一个 SiFive E51 作为监控处理器核心和四个 SiFive U54 作为应用处理器核心。该板具有 2GB LPDDR4 内存、1Gb SPI 闪存和 8 GB eMMC 闪存以及一个 SD 卡插槽。

Icicle 套件具有四个 12.7 Gbps SERDES 接口、PCIe Gen2 根端口、双千兆以太网、两个 SPI 和一个 Raspberry Pi 兼容的 40 针接头。但没有显卡和图形支持。

Icicle Kit 虽然被定位为一款 “低成本” 的开发板,但目前的价格为 590 美元,这对于大多数爱好者和低成本独立开发人员来说是遥不可及的,特别是考虑到其相对乏善可陈的性能。

那些对 Ubuntu 22.04.2 LTS 和对 Icicle Kit 感兴趣的人可以通过 https://canonical.com/blog/ubuntu-on-microchip-polarfire-risc-v-board 了解更多信息。

新闻出处,“Ubuntu Announces Official Support For The PolarFire SoC FPGA Icicle Kit RISC-V Board”: https://www.phoronix.com/news/Ubuntu-Icicle-Kit-Optimized

关键词: Ubuntu,RISC-V, Icicle

GCC 编译器启动了对 RISC-V Auto-Vectorization 的支持

A set of patches sent out this morning lay out the initial foundation for RISC-V auto-vectorization support within the GNU Compiler Collection (GCC).

上周五发布的一组补丁为 GCC 中的 RISC-V Auto-Vectorization 支持奠定了初步基础。

这个 GCC RISC-V Auto-Vectorization 的支持补丁是由 Michael Collison,一位来自神秘的初创公司 Rivos 的开发人员提交的。这个补丁的贡献者还包括了来自 RiVAI 的开发人员 Ju-Zhe Zhong。这种 Auto-Vectorization 支持基于目前 GCC 上游已有的当前 RISC-V “RVV” vector intrinsic 实现。

提交的代码添加了一个新的 vector cost model,引入了 auto-vectorization 模式以及对整数加减法的支持。将其限制为整数加法和减法是因为当前的代码还处在概念证明阶段。

那些对最新的 RISC-V GCC 编译器工作感兴趣的人可以查看该暂定代码的补丁系列。这项工作对于今年的 GCC 13 发布来说为时已晚,但希望在明年的 GCC 14 期间能够全部完成。

新闻出处,“RISC-V Auto-Vectorization Support For The GCC Compiler Started”: https://www.phoronix.com/news/GCC-RISC-V-Auto-Vectorization

关键词: GCC, RISC-V, Auto-Vectorization

联系我们

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

tinylab wechat



Read Album:

Read Related:

Read Latest: