泰晓科技 -- 聚焦 Linux - 追本溯源,见微知著!

还在观望?5 小时转进 RISC-V 世界

泰晓资讯·2 月 / 第三期 / 2023

unicornx 创作于 2023/02/16

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

Linux 内核最新消息


Linus Torvalds 本周发布了 Linux 6.2-rc8,并计划于下周的周日,也就是 2 月 19 日发布 Linux 6.2 的稳定版本。

由于 Linux 6.2 的开发周期中夹杂了圣诞节和新年假期,这多多少少推迟了围绕 Linux 6.2 的一些测试和开发活动,所以 Linus Torvalds 决定本周多发布一个 rc8,不过,令人宽慰的是,过去一周以来内核的发展还算平稳。

Linux 6.2-rc8 中合入的修复中包括这段时间引人注意的有关 AMDGPU 的改动。另外内核终于完成对 Logitech USB 鼠标驱动的修改,支持禁用其高精度的滚动。

Linus 在 6.2-rc8 的发布公告中的原话评论如下:

The 6.2 series continues to be fairly calm, and the only real reason for an rc8 is - as now mentioned several times - just to make up for some time during the holiday season. Not that we seem to really have needed it, but there was also no real reason to deviate from the plan. So here we are. And we did have a few late regression fixes, and a couple still pending that will hopefully make it during next week, so absolutely no harm done.

Most of the discussion I see seems to have already been about future stuff, and I also already have one pull request for the next merge window in my inbox (and I won’t mind more if they show up). But in the meantime we did have a scattering of the usual fixes, with networking, GPU and sound drivers being the most noticeable. As is usual.

But there’s other fixes in there too - both smaller driver subsystems and to various other code.

让我们满怀期待,对 2023 年的第一个 Linux 版本的正式发布。

https://www.kernel.org/ updated by 2023/02/16


关键词: Linux

Linux 有可能会移除对 Itanium/IA64 的支持

It’s been many years since Intel Itanium processors made a convincing story and faced a slow demise over the past decade. While the last of the Itanium 9700 “Kittson” processors shipped in 2021, just two years later now the Linux kernel is already looking at possibly seeing its IA-64 support removed over having no maintainers or apparent users.

自从 Intel 的 Itanium 处理器诞生到如今逐渐消亡,已经有很多年了。虽然最后一款 Itanium 9700 “Kittson” 处理器于 2021 年发货,但仅仅两年后,Linux 内核已经在考虑可能因没有维护者或明显的用户而取消对 IA-64 的支持。

GCC 编译器几年前放弃了对 IA-64 的支持,这导致对 IA-64 架构的内核构建已经中断了很长时间,2021 年开始, Linus Torvalds 不再维护内核中有关 IA-64 的代码。 现在,随着 2023 年的到来,距离停止维护已经两年了,可能是时候从内核源码树中删除 Itanium 的相关代码了。

Linux 开发人员 Ard Biesheuvel 于本周三早上发出了一个 RFC 的补丁系列,希望从内核中删除 Itanium/IA-64 的代码。Ard 在补丁中对这项改动的描述如下:

“The IA64 port of Linux has no maintainer, and according to a report from its only remaining user, it has been broken for a month and nobody cares.

Given that keeping a complex but unused architecture alive uses up valuable developer bandwidth, let’s just get rid of it.

This supersedes my patch proposing to mark it as ‘dead’, which received no replies from anyone that wants to keep it alive.”

从 Linux 内核树中删除 Itanium/IA-64 可以减少大约 65k 行代码。

让我们看看这个改动是否会被 Linus 接受吧。

新闻出处,“Linux Looks To Retire Itanium/IA64 Support”: https://www.phoronix.com/news/Linux-Retire-Itanium-IA64-Patch

关键词: Linux, Itanium

Linux 6.3 准备了更多 Rust 代码 - 更接近于将 Rust 驱动程序上游化

While initial Rust code was merged for Linux 6.1, it’s not yet used by any kernel drivers or functionality for end-users and the integration and other abstractions for Rust are still being established. With the upcoming Linux 6.3 cycle, more of that Rust groundwork is set to be merged and nearing the point of Rust-written kernel modules/drivers will be able to be upstreamed.

虽然基础的对 Rust 支持框架已合并到 Linux 6.1 中,但它尚未被任何内核驱动程序或最终用户所使用,并且对 Rust 的集成和其他功能的支持仍在进行中。随着即将到来的 Linux 6.3 周期,更多的 Rust 支持将被合并,很快我们将可以向上游提交使用 Rust 编写的内核模块或者驱动程序了。

目前距离 Linux 6.2 稳定版发布和 Linux 6.3 合并窗口的开始还有一周的时间。Rust for Linux 的维护者 Miguel Ojeda 已经准备好了针对 v6.3 的更新。在 PR 中,Miguel Ojeda 评论说:“more core additions, getting closer to a point where the first Rust modules can be upstreamed.”

Linux 6.3 中的 Rust 代码包括新的 Arc、ArcBorrow 和 UniqueArc 类型。还有新的 ForeignOwnable 和 ScopeGuard 类型,对 “alloc” crate 的重新设计(删除了 borrow 模块),以及其他更改。这些都是很基础的改进,完善了内核中 Rust 的编程基础架构以供实际开发人员使用。

让我们看看在今年春季,也就是 Linux 6.4 版本的开发周期中,是否能看到第一个采用 Rust 开发的内核驱动模块被合入主线。

新闻出处,“More Rust Code Readied For Linux 6.3 - Closer To Having Rust Drivers Upstreamed”: https://www.phoronix.com/news/Rust-Linux-6.3-Changes

关键词: Linux, Rust

Ubuntu 的 Real-Time 内核进入正式发布状态

Nearly one year ago with the Ubuntu 22.04 LTS premiere came a beta real-time kernel offered by Ubuntu maker Canonical and intended to help with Ubuntu Linux deployments in industrial environments, automotive, and other sectors with real-time computing needs. This Valentine’s Day the Ubuntu real-time kernel has been promoted to general availability (GA) status.

大约一年前,随着 Ubuntu 22.04 LTS 的首次发布,Ubuntu 的制造商 Canonical 还提供了一个测试版的实时(Real-Time)内核,旨在帮助 Ubuntu Linux 在工业环境,汽车制造和其他有实时计算需求的行业中部署。今年 2 月 14 日(恰逢西方的情人节),Ubuntu 实时内核已升级为正式发布 (GA) 状态。

Canonical 宣布 “real-time Ubuntu is now generally available.”。在新闻稿中,Mark Shuttleworth 甚至说 Ubuntu现在是世界上基于 NVIDIA,Intel,MediaTek 和 AMD-Xilinx 芯片上优化得最好的 AIOT 平台。

Ubuntu 的实时内核基于 Linux 5.15 LTS,就像 Ubuntu 22.04(.1) LTS 内核一样,但带有一些还未合入主线的 PREEMPT_RT 补丁。来自 Intel/Linutronix 的内核开发人员一直致力于努力将实时补丁全部上游化,他们几乎已经快要接近完成这个目标。今年,我们将看到实时内核补丁全部进入上游主线,但现在还有一些补丁没有被合入,特别是对于那些坚持使用 LTS 内核系列的系统。

Ubuntu 的实时内核构建在 Linux 5.15 上,打上了这些补丁,这个实时内核为x 86_64 和 ARM64 构建,可用于 Ubuntu Server 22.04 LTS 和 Ubuntu Core 22。

但是需要注意的是 Ubuntu 的实时内核是针对 Canonical 的企业客户的。Ubuntu Core 22 上的 RT 内核适用于具有 IoT App Store 访问权限/支持的企业客户,在 Ubuntu Server 22.04 上,LTS 可通过 Ubuntu Pro 订阅服务获得。Ubuntu Pro 在最多 5 台计算机上免费供个人使用。

新闻出处,“Canonical Promotes Ubuntu’s Real-Time “RT” Kernel To General Availability”: https://www.phoronix.com/news/Ubuntu-Real-Time-Kernel-GA

关键词: Ubuntu, Real-Time

RISC-V Linux 补丁实现了 “zisslpcfi” 扩展,支持 Control-Flow Integrity

While there is a lot to love about RISC-V, with the plethora of RISC-V extensions some of the acronyms are hard to digest. The latest example is the Linux kernel patches for “zisslpcfi”, which is the RISC-V extension around Control-Flow Integrity (CFI) support for RISC-V processors.

虽然 RISC-V 有很多值得喜爱的地方,但由于 RISC-V 扩展过多,一些首字母缩略词很难让人理解。最新的例子是支持 “zisslpcfi” 的 Linux 内核补丁,“zisslpcfi” 是一个 RISC-V ISA 的扩展,支持 RISC-V 处理器的 Control-Flow Integrity(CFI)。

本周初晚上发布了这个 RFC,用于支持 zisslpcfi 扩展,在 U 模式下实现 RISC-V 的 Control-Flow Integrity。Zisslpcfi 相当于 “unprivileged integer shadow stack & landing pad based control-flow integrity.”。

Linux 内核已经实现了对 x86_64 和 AArch64 的 CFI,而 RISC-V 开发人员现在正在研究其硬件的安全功能。暂定的 zisslpcfi 规范发布在 https://github.com/riscv/riscv-cfi。 Zisslpcfi 还依赖于 Zicsr 扩展的控制和状态寄存器指令。控制流完整性从根本上讲是关于通过防止转移程序执行流的软件攻击,例如 return-oriented programming (简称 ROP) 攻击或 jump.call oriented programming 攻击。与 x86_64 和 AArch64 CFI 一样,RISC-V CFI 方法依赖于 shadow stack 和 landing pads进行间接调用和跳转。

那些对 RISC-V 控制流完整性工作感到好奇的人可以在 Linux 内核邮件列表(https://lore.kernel.org/lkml/20230213045351.3945824-1-debug@rivosinc.com/)中查看这个 RFC 补丁系列,以获取有关启用此 RISC-V 扩展的早期内核代码的所有技术细节。

新闻出处,“RISC-V Linux Patches Start On “zisslpcfi” Support For Control-Flow Integrity”: https://www.phoronix.com/news/RISC-V-zisslpcfi-Linux-RFC

关键词: Linux, RISC-V, CFI

LoongArch Linux 补丁支持 KVM 虚拟化

While LoongArch merged for Linux 5.19 last year, that initial kernel port to the Chinese CPU architecture wasn’t entirely complete and some Loongson 3A5000 features are still being enabled for the mainline kernel. The latest feature work being carried out by Loongson engineers is for supporting hardware virtualization on the 3A5000 processors with KVM.

虽然去年 Linux 5.19 合入了 LoongArch 这个新的 ARCH,但最初的内核对这个 CPU 架构并不完全完整,一些针对 Loongson 3A5000 的支持仍然还有待在主线内核中启用。目前龙芯工程师在做的最新的功能是为 3A5000 处理器实现对 KVM 的支持,也就是硬件虚拟化功能。

本周二龙芯提交了启动 KVM LoongArch 支持的最初的 24 个补丁。龙芯工程师 Tianrui Zhao 在补丁系列中解释道:

This series adds KVM LoongArch support. Loongson 3A5000 supports hardware assisted virtualization. With cpu virtualization, there are separate hw-supported user mode and kernel mode in guest mode. With memory virtualization, there are two-level hw mmu table for guest mode and host mode. Also there is separate hw cpu timer with consant frequency in guest mode, so that vm can migrate between hosts with different freq. Currently, we are able to boot LoongArch Linux Guests.

除了这些正在审查中的 LoongArch KVM 补丁外,龙芯目前还在维护 QEMU 的一个分支,以及一个专门针对 LoongArch 修改后的TianoCore UEFI BIOS,用于 boot。

新闻出处,“LoongArch Linux Patches Enable KVM Virtualization”: https://www.phoronix.com/news/LoongArch-Linux-KVM

关键词: Linux, LoongArch

LLVM的 Fortran 编译器 “Flang” 取得了重大进展

Being worked on actively by a number of stakeholders in recent years has been Flang as a Fortran language front-end to the LLVM compiler stack. While not yet ready for general use, Flang has been making strides as well as showing some promising performance results.

近年来,许多利益相关者积极致力于实现 LLVM 编译器堆栈的 Fortran 语言前端 Flang。虽然尚未完全准备好,但 Flang 一直在取得长足进步,并显示出一些有希望的性能结果。

Arm 一直是在 Flang上 持续投入的领先供应商之一。在上周末于布鲁塞尔举行的 FOSDEM 会议上,Arm 工程师 Kiran Chandramohan介绍了 LLVM Fortran 编译器的最新进展。

Flang 可以生成有效的可执行文件,但尚未准备好用于正式发布,对 Fortran 95 规范的支持基本到位,对 Fortran 2003 和更新的特性支持功能正在进行中,并且针对 Flang 的测试也在继续进行中。

基于 SPEC 2017 的 benchmark 测试数据,与之前的 Flang 实现以及 GCC 提供的 GFortran 前端相比,Flang 的性能看起来相当不错。

Kiran 演讲的视频记录尚未上传,但对于那些感兴趣的人,可以学习一下来自 FOSDEM 2023 的 PDF 幻灯片(https://fosdem.org/2023/schedule/event/llvmflang/attachments/slides/5721/export/events/attachments/llvmflang/slides/5721/fosdem_flang_status_update.pdf),其中包含 Flang 的最新状态的介绍。

新闻出处,“LLVM’s Fortran Compiler “Flang” Makes Significant Progress But Not Yet Production Ready”: https://www.phoronix.com/news/LLVM-Flang-Early-2023

关键词: LLVM, Flang



tinylab wechat

Read Album:

Read Related:

Read Latest: