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

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

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

unicornx 创作于 2022/01/20

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

  • Linux 内核最新消息

目前是 Linux 5.17 的合并窗口期间,本期资讯让我们来看一些 Linux 5.17 的新特性吧。

https://www.kernel.org/ updated by 2022/1/20

分支类型版本发布时间
mainline5.162022-01-09
stable5.16.12022-01-16
longterm5.15.152022-01-16
longterm5.10.922022-01-16
longterm5.4.1722022-01-16
longterm4.19.2252022-01-11
longterm4.14.2622022-01-11
longterm4.9.2972022-01-11
longterm4.4.2992022-01-11
linux-nextnext-202201182022-01-18

关键词: Linux

  • 在 Linux 5.17 中针对 RISC-V 的新进展

The RISC-V architecture updates for the in-development Linux 5.17 kernel have been successfully submitted.

Linux 5.17 内核的 RISC-V 架构更新已成功提交。

在这次新的开发周期中,主线合入了更多支持来自 SiFive 的 HiFive Unmatched RISC-V 开发板的工作,这款产品是迄今为止最好的、最可广泛使用的 RISC-V 开发板,适用于爱好者、开发人员和那些想涉足这种开放免费的 CPU 架构的人。用于 SiFive HiFive Unmatched 的 Linux 5.17 支持主板使用的 DA9063 PMIC 以及 Kexec 改进。

在新内核中,针对 RISC-V 还增加了对相关扩展的支持、譬如对 SBI SRST 扩展的支持以及其他的修复和清理。 RISC-V SBI SRST 扩展提供了一种标准的关闭和重启系统的方法。无论执行模式如何(包括 guest/VM),SBI SRST 都能正常工作。而目前,RISC-V 的 Linux 系统仍然需要特殊的驱动程序支持才能重新启动系统。

原文新闻出处,“Linux 5.17 RISC-V Allows Rebooting Without Needing Special Driver, HiFive Unmatched Improvements” https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.17-RISC-V

关键词: Linux, RISC-V

  • Linux 5.17 中合入页表检查功能,可用于改善非法内存共享

Merged into Linux 5.17 this weekend is the Google-developed Page Table Check feature that can help combat some forms of memory corruption.

由 Google 开发的页表检查(Page Table Check)功能于本周合并入 Linux 5.17,该特性可以帮助及时检测出某些形式的非法内存共享(memory corruption)。

Google 的工程师去年发现了内核中存在引用计数下溢问题,该问题会影响从四年前发布的 Linux 4.14 到现在的所有内核版本。针对该问题,Google 工程师提出了 Page Table Check 来帮助发现类似的问题。页表检查功能主要是为了确保避免非法共享页面,例如一个进程的内存页意外(或以其他方式)被另一个进程非法访问。

由于该特性会对系统的运行时性能有影响,为增加对该特性的支持,Linux 5.17 版本的内核编译增加了 PAGE_TABLE_CHECK=y 选项,用户可以在需要实际使能该特性时在启动内核时加入 “page_table_check=on” 参数。

总而言之,页面表检查功能已合入 Linux 5.17。

原文新闻出处,“Page Table Check Feature Merged For Linux 5.17 To Help Fight Memory Corruption” https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.17-Page-Table-Check

关键词: Linux,Google,Page, memory

  • Rust 内核补丁最新进展

Miguel Ojeda has published his third iteration of the patches implementing the basic infrastructure for supporting the Rust programming language within the Linux kernel.

Miguel Ojeda 发布了他的补丁的第三个迭代版本,该补丁实现了在 Linux 内核中支持 Rust 编程语言的基本基础设施。去年 12 月就发布的是 v2 补丁,而现在仅仅一个多月后,第 3 版补丁就可以进行测试了。

更新的 Rust for Linux 内核代码现在升级到 Rust 1.58,它会自动检测是否有合适的 Rust 工具链可用,该补丁还包括其他构建系统改进,改进的文档以及其他一般代码清理和改进。

Miguel 指出,在 Rust 方面也有一些改进,"One of the unstable features we need, -Zsymbol-mangling-version=v0, is getting stabilized in 1.59.0. Another one, maybe_uninit_extra, will be in 1.60.0."

v3 补丁系列,包括一些示例代码,总共有 33.5k 行新代码。希望今年对 Rust 的支持能正式进入 Linux 内核主线。

更多介绍请阅读新闻出处,“Rust For Linux Kernel Patches Revised With Upgraded Rust Toolchain, Build Improvements”: https://www.phoronix.com/scan.php?page=news_item&px=Rust-For-Linux-v3

关键词: Linux, Rust

  • Linux 5.17 中增加了一款新的实时分析工具

A new tool added to the kernel source tree with Linux 5.17 is rtla to serve for real-time Linux performance and tracing analysis.

Linux 5.17 源码中添加了一个名字叫 rtla (Real-Time Linux Analysis)的新工具,用于实时 Linux 性能和跟踪分析,感谢 Red Hat 雇用的内核开发人员 Daniel Bristot de Oliveira 所做的这个贡献

RTLA 利用 Linux 内核的跟踪功能来帮助分析性能和跟踪数据。特别的,rtla 命令提供了命令选项,可以从内核操作系统的 “osnoise” 和 IRQ/thread 时器延迟 “timerlat” tracers 中读取信息。也就是说 RTLA 工具利用了内核的 tracing 机制。RTLA 工具的说明书中是这样描述自己的:"The rtla is a meta-tool that includes a set of commands that aims to analyze the real-time properties of Linux. But instead of testing Linux as a black box, rtla leverages kernel tracing capabilities to provide precise information about the properties and root causes of unexpected results."

针对启用 PREEMPT_RT 的实时 Linux 内核,该工具将变得非常有价值,而 PREEMPT_RT 预计也将很快最终完全合入主线。

更多介绍请阅读新闻出处,“Linux 5.17 Picks Up A Real-Time Analysis Tool”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.17-RTLA

关键词: Linux, Real-Time

  • Linux 5.17 上针对 Folio 的改进

Back in November memory folios were merged into Linux 5.16 as a fundamental change to the memory management code. Now for Linux 5.17 there are improvements for folios merged and then out likely for Linux 5.18 is introducing the notion of large folios.

早在去年 11 月,memory folios 就被合并到 Linux 5.16 中,这个改动对内存管理子系统的改动非常大。现在,针对 Linux 5.17,对 folios 的改进也合入了主线,可以看到的是,在下一个 5.18 中,folios 还会引入更大的改动。

Linux 引入 memory folios 特性的目的是希望能够让文件系统和页面缓存以大于默认页面大小块的方式管理内存。在 Linux 5.16 中,为了支持 folios,内存管理子系统的核心代码以及页面缓存部分都做了相应修改。通过基准测试表明,大部分情况下,引入 folios 后性能可获得 0 ~ 10% 的提高。

Linux 5.17 中针对 folios 的合并代码主要集中在将大部分页面缓存代码转换为使用 folios。

与此同时,来自 Oracle 的 Matthew Wilcox 于上周日又发布了一组补丁,用于启用 large folios。这些补丁允许在 readahead 和 fault paths 中使用更大的 folios,并且目前可与 XFS 文件系统一起使用。但是,这个 large folios 的修改并不适用于 Linux 5.17,目前预期将作为今年春季 5.18 的一部分合入主线。

更多介绍请阅读新闻出处,“Folio Improvements For Linux 5.17, Large Folio Patches Posted”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.17-Folios

关键词: Linux, Memory Folio

  • Linux 准备最终移除对 a.out 格式的支持

Back in 2019 the Linux kernel deprecated a.out support for that file format used several decades ago before ELF tookover. Now in 2022 it looks like that a.out code will be removed from the kernel.

早在 2019 年,Linux 内核就弃用了对 a.out 格式的支持,这种古老的文件格式在被 ELF 替换之前曾经在计算机界使用了几十年。现在到了 2022 年,a.out 的相关代码看上其终于要从内核中被彻底删除了。

Linux 一直使用 a.out 格式,直到 90 年代中期,该格式的最新版本发展为 v1.2。此后 ELF 开始流行,并成为目前我们在 Linux 上普遍使用的二进制文件格式。虽然多年来 a.out 格式已不在 Linux 上广泛使用,但直到 2019 年 Linux 才放弃在 x86 32 位上支持运行 a.out 二进制文件。编译器和其他工具链组件也已经不再支持 a.out 文件格式好多年了。

Borislav Petkov 上周提交了一个补丁,希望从内核中完全删除对 a.out 的支持。

到目前为止,参与 review 的上游开发人员都支持清除这种已弃用的 a.out 的支持代码。一些旧的系统调用和其他未使用的内核代码也有可能在此过程中被清除。此移除补丁尚未针对正在进行的 v5.17 合并窗口提交,让我们看看它是否会被加入,否则将被推迟到 v5.18,但无论如何看起来今年 Linux 内核将会正式放弃对 a.out 支持。

更多介绍请阅读新闻出处,“Linux Preparing To Finally Remove Support For The a.out Format”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-Remove-a.out

关键词: Linux, a.out

  • Ubuntu 22.04 LTS 计划默认使用 Linux 5.15

It turns out Ubuntu 22.04 LTS is planning to use the Linux 5.15 kernel as its default kernel. It makes sense in that Linux 5.15 is also a long-term support kernel, but unfortunate in that Ubuntu LTS releases haven’t always used LTS kernel versions and v5.15 will be a half-year old already by the time the “Jammy Jellyfish” ships in April. This is a choice particularly unfortunate for those with recent hardware but at least there is the Ubuntu Mainline Kernel PPA and other non-default options available.

有证据表明 Ubuntu 22.04 LTS 将计划使用 Linux 5.15 内核作为其默认内核。Linux 5.15 本身也已经被确认为是一个获得长期支持的内核版本。当然 Ubuntu LTS 版本并不总是固定搭配使用 LTS 的内核版本,特别考虑到 “Jammy Jellyfish” (Ubuntu 22.04 的代号)在今年四月发布时 v5.15 已经发布有半年,这对于那些想尝试最新硬件的人来说是一个特别不幸的消息,但至少还有 Ubuntu Mainline Kernel PPA 和其他可用的非默认选项。

在讨论 Ubuntu 22.04 的 GNOME 计划时,Canonical 的 Sebastien Bacher 提到 “计划是为 LTS 使用 5.15,但 oem 和 hwe 或许会改为使用 5.17。”

Ubuntu 22.04 采用 Linux 5.15 还是有意义的,因为它们都是长期支持 (LTS) 版本。Linux 5.15 LTS 于去年 10 月底首次亮相,Linux 5.16 是上周才发布的版本,Linux 5.17 应该会在 3 月底左右推出。Linux 5.17 的发布时间离 Ubuntu 22.04 版本发布的时间太近了,所以我们肯定不会使用它。

如果采用 5.15 作为默认内核的话,我们会发现很多新特性无法为我们所使用。譬如 Linux 5.16 默认启用了对 Alder Lake S 的支持(鉴于其重要性,我们可能会看到 Ubuntu 的内核配置被修改以强制探测并使能),FUTEX2 futex_waitv 系统调用对于 Wine / Steam Play 游戏的发展非常重要,I/O优化、更充分的 AMD Ryzen 6000 移动系列支持、英特尔 AMX 支持,这对于带有 Ubuntu LTS 版本的 Xeon Sapphire Rapids 服务器非常重要,以及许多其他硬件支持添加和改进。(同样,Linux 5.17 上也有很多类似的新特性。)一些修复/PCI ID 添加可能会向后移植到 Linux 5.15 或由 Ubuntu 的内核构建提供,但可能不是任何重要的项目。这是一个永无止境的恶性循环,内核的所有驱动程序部分和开源软件都在不断发展。

因此,虽然从长期维护的角度来看,Linux 5.15 LTS 对 Ubuntu 22.04 LTS 来说是有意义的,但对于 Linux 爱好者以及那些希望在最新的 Intel/AMD 硬件上运行 Ubuntu 的人最好还是使用第三方或者非官方构建的内核,直到在未来获得 Jammy Jellyfish 的小版本中的 HWE 内核。值得庆幸的是,在 Ubuntu 22.04 正式发布之前,Ubuntu Mainline Kernel PPA 提供了方便的 Linux 5.16 或 Linux 5.17 主线内核构建,以及其他第三方内核构建 PPA。Canonical 希望将 Ubuntu 打造成 “最好的游戏 Linux 桌面”,考虑到为了充分使用图形驱动程序的优势以及迎合其他爱好者以及游戏玩家,他们可能会想出一种更受认可,以及用户友好的方式在 Ubuntu 上运行最新的主线 Linux 内核版本。

更多介绍请阅读新闻出处,“Ubuntu 22.04 LTS Planning To Stick With Linux 5.15 By Default”: https://www.phoronix.com/scan.php?page=news_item&px=Ubuntu-22.04-LTS-Linux-5.15

关键词: Ubuntu, Jammy Jellyfish

联系我们

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

tinylab wechat



Read Album:

Read Related:

Read Latest: