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

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

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

unicornx 创作于 2022/01/06

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

  • Linux 内核最新消息

https://lkml.org/lkml/2022/1/2/195

作为 2022 年的第一个 RC 版本,Linux 5.16-rc8 于 1 月 2 日发布了。如果不是假期,Linus Torvalds 发布的应该会是 5.16 的稳定版本。

Linux 5.16-rc8 没有太大变化,由于上周恰逢圣诞节和新年,大家还没从假期中恢复过来,Linus 预计接下来的一周也会很轻松。 Linux 5.16-rc8 仅对 GPU 和网络驱动程序进行了一些修复,以及其他随机修复。

如果没有什么意外,Linux 5.16 的正式版本将于 1 月 9 日,也就是接下来的这个周日发布。

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

分支类型版本发布时间
mainline5.16-rc82022-01-02
stable5.15.132022-01-05
longterm5.10.902022-01-05
longterm5.4.1702022-01-05
longterm4.19.2242022-01-05
longterm4.14.2612022-01-05
longterm4.9.2962022-01-05
longterm4.4.2982022-01-05
linux-nextnext-202201052022-01-05

关键词: Linux

  • 2021 年 Linux 开发数据盘点

There were a ton of exciting kernel improvements merged in 2021 as well as introducing new hardware support and more.

在 2021 年里 Linux 内核合并了大量令人兴奋的改进,并引入了对新硬件的支持等。但尽管这一年令人兴奋,但在提交数和修改行数上,其数据值实际上比往年要低。下面是 2021 年一些流行的内核主题以及年度 Git 开发统计数据。

截至 2022 年 1 月 1 日,在 Linux 内核源代码树上运行 GitStats,我们可以看到该代码仓库已收到来自大约 24.3 万名不同作者的 1,060,172 次提交。整个源码树目前包含了 74.3k 个文件,总共含有大约 3220 万行代码。

Linux 内核行数继续以相当一致的速度增长,新功能的源源不断,并不断扩展对硬件的支持。但内核在 2021 年的提交仅有 73.7k 次,低于 2020 年的 90.2k 次、2019 年的 82.8k 次、2018 年的 80.1k 次…… 上一次年提交数不超过 73.7k 要追溯到 2013 年,当年其提交数为 70.9k 次。造成这个现象的部分原因是由于 2021 年只有 5 次主版本发布,而有些年份为 6 个。

除了年提交数要少,2021 年 Linux 内核增加了 320 万行,删除了 130 万行,低于 2020 年增加 400 万行和删除 150 万行的数据。

像往年一样,Linus Torvalds 仍然是最多产的提交者。仅次于他的五名提交者通常是 David S. Miller、Arnd Bergmann、Christoph Hellwig、Lee Jones 和 Jakub Kicinski,他们都是长期的杰出内核贡献者。

更多的数据,以及 2021 年流行的内核主题总结请阅读新闻原文,“Hypocrite Commits, Rust RFC & FUTEX2 Were Among Popular Kernel Topics In 2021” https://www.phoronix.com/scan.php?page=news_item&px=Linux-Kernel-2021-Highlights

关键词: Linux

  • Alibaba 为 Linux Kernel Scheduler 提出了一个 Group Balancer

With more organizations such as Alibaba configuring their servers to share CPU cores/resources among applications these days rather than exclusively assigning CPU cores to individual applications/tasks, the Chinese company is proposing a new “group balancer” for the Linux kernel scheduler.

随着越来越多的厂商将其服务器配置为在应用程序之间共享 CPU 内核/资源,而不是将 CPU 内核专门分配给单个应用程序/任务,来自中国的公司 Alibaba 正在为 Linux 内核调度程序提出一个新的 “Group Balancer”。

Alibaba 提议的 Linux Group Balancer 专注于在任务之间共享资源时减少资源冲突。该平衡器专注于跨 CPU 内核组平衡任务组。在其提交的议案中的原文描述如下:"Thus what we need, is a way to ease confliction in share mode, make groups as exclusive as possible, to gain both performance and resource efficiency. The main idea of group balancer is to fulfill this requirement by balancing groups of tasks among groups of CPUs, consider this as a dynamic semi-exclusive mode. Just like balance the task among CPUs, now with GB a user can put CPU X,Y,Z into three partitions, and balance group A,B,C into these partition, to make them as exclusive as possible. The design is very likely to the numa balancing, task trigger work to settle it's group into a proper partition (minimum predicted load), then try migrate itself into it. To gradually settle groups into the most exclusively partition." 从文字中我们可以知道,该提案的主要目的是提供一种缓解共享模式冲突的方法,使组尽可能具有排他性,从而最大化性能和资源的利用效率。 group balancer 的主要思想是通过在 CPU group 之间平衡 task group 来满足这个要求,提案称其为一种动态的半独占模式(dynamic semi-exclusive)。就像在 CPU 之间平衡 task 一样,在启用 Group Balancer 之后用户可以把 CPU X,Y,Z 分成三个 partition,平衡 group A,B,C 到这些 partition 中,使它们尽可能的独占。设计类似于 numa balance 机制,每个 task 通过触发方式将它所在的 group 分派到一个合适的分区,然后尝试将自身也迁移到其中。逐渐将整个 group 安置到 the most exclusively partition 中。

Alibaba 在 128 核 CPU 服务器上运行基准测试发现,与标准共享模式相比,在 “Group Balancer” 模式下 Redis 性能受益可提高 2% ~ 10%。

原文新闻出处,“Alibaba Proposes A Group Balancer For The Linux Kernel Scheduler” https://www.phoronix.com/scan.php?page=news_item&px=Linux-Sched-Group-Balancer

关键词: Linux, Alibaba,Scheduler

  • 一个巨大的内核改进,可以加速内核构建 50~80%

Longtime Linux kernel developer Ingo Molnar posted a massive set of patches today: 2,297 patches that have been in the works since late 2020 and completely rework the Linux kernel’s header file hierarchy. The goal of this “fast kernel headers” effort is to speed up kernel build times and also clean=up a lot of things in the proces to address the “dependency hell”.

资深的 Linux 内核开发专家 Ingo Molnar 今天发布了一个很大的补丁集:这个补丁集由多达 2,297 个补丁组成,从 2020 年底开始开发,一直到现在。这个补丁集彻底重新设计了 Linux 内核的头文件的层次结构。据说这样的调整的目标可以加速内核构建的时间,并有助于清理构建过程中很多严重的依赖问题,该问题被称之为 “dependency hell”。

这组庞大的补丁涉及大部分 Linux 内核代码库,因为它重新设计了内核构建的头文件处理。但最终结果是更快的 Linux 内核编译,无论是一次完整的干净的构建还是增量构建。

Molnar 在补丁的说明中是这么说的:"As most kernel developers know, there's around ~10,000 main .h headers in the Linux kernel, in the include/ and arch/*/include/ hierarchies. Over the last 30+ years they have grown into a complicated & painful set of cross-dependencies we are affectionately calling 'Dependency Hell'."

根据 Ingo 提供的数据,与当前的内核相比,启用 “快速内核头文件” 的内核每小时可以多构建 78%。在支持的体系结构上,绝对内核构建性能可以提高 50% 到 80%。

这个大补丁系列将许多高层的头文件与其他头文件解耦,取消了不必要的函数内联,解耦 type 和 API 头文件,自动化头文件的依赖处理,以及各种其他更改。到目前为止,这个庞大的补丁系列已经在 x86/x86_64、SPARC、MIPS 和 ARM64 上进行了测试。

这绝对是一个庞大的补丁系列,可能是有史以来最大的 Linux 内核功能(按代码大小计算)。目前,虽然该补丁最初是作为 “request for comments” 发出的,但考虑到其对内核构建时间的巨大改进,所以希望这个补丁系列能够在不远的将来以某种方式进行审查后成功地进入主线内核。

原文新闻出处,“Massive ~2.3k Patch Series Would Improve Linux Build Times 50~80% & Fix “Dependency Hell”” https://www.phoronix.com/scan.php?page=news_item&px=Linux-Fast-Kernel-Headers

关键词: Linux,Build

  • Linux 的 CleanCache 将从内核中被移除

Merged into the mainline Linux kernel a decade ago was the CleanCache patch series but now it’s set to be retired.

据悉,十年前进入 Linux 内核主线的 CleanCache 将被淘汰。作为 Andrew Morton 提交的补丁的一部分,我们发现在 Linux-Next 上 CleanCache 被删除了。具体原因是因为已经没什么用户还使用它了。自 2019 年移除 Xen Transcendent Memory (TMEM) 驱动程序代码后,就再也没有看到有人使用 CleanCache 了,但 CleanCache 却还一直保留在内核中。

CleanCache 是由 Oracle 工程师开发的,记得当初刚推出该特性时时,Oracle 对它的评价是:"something that's actually very cool, has huge potential to make running VMs super optimized/performant/efficient and is the result of quite a bit of research and experimentation."

内核文档中对它的描述是,Cleancache 是 VFS 层提供的一项新的可选功能,它可能以可忽略不计的成本显著提高许多环境中许多工作负载的页面缓存效率。Cleancache 可以被认为是内核的页面帧替换算法( pageframe replacement algorithm,简称 PFRA)用于以页为单位保留干净页的一个缓存,但由于没有足够的内存而无法保留。

虽然受到 Oracle 的极力推荐,但十年后,由于缺乏实际的用户,CleanCache 还是不免被淘汰了,我们很可能在 Linux 5.17 中就再也看不到它了。

更多介绍请阅读新闻出处,“Linux’s CleanCache Set To Be Cleaned From The Kernel After Being Hyped Up A Decade Ago”: https://www.phoronix.com/scan.php?page=news_item&px=Linux-Cleancache-EOL

关键词: Linux, CleanCache

  • LLVM 在 2021 年实现了创纪录的增长

The LLVM compiler stack saw record growth in 2021 both with the most amount of new code introduced in any single year as well as the most contributors per year this open-source project has ever seen. Even aside from the development metrics, LLVM had a pretty rocking 2021.

LLVM 编译器在 2021 年实现了创纪录的增长,最新 GitStats 统计数据说明,这个开源编译器/工具链包含多达 111,028 个文件,以及 2385 万行代码。考虑到 Linux 内核在其更长的历史发展中,发展到目前也不过 3200 万行代码,相比起来, LLVM 的发展更加神速,这真是一项了不起的壮举。 LLVM 的代码仓库中一共有来自大约 2,903 位不同作者的 408k 次提交和贡献。

就提交数量而言,2021 年的 LLVM 并不是最繁忙的一年,只有 32.1k 提交,而 2020 年的这一数字为 34.9k,2019 年为 33.2k……

但在代码清理方面,LLVM 在 2021 年处于领先地位…… LLVM 增加了 1250 万行代码,删除了 830 万行,远高于 2020 年的仅添加 700 万行和删除 390 万行的情况。

Simon Pilgrim 继续负责 2021 年的大部分提交,其次是 Fanrui Song、Roman Lebedev、Craig Topper、Nikita Popov 和 Sanjay Patel。

2021 年 LLVM 的其他有希望的指标之一是创纪录的作者数量,提交代码的贡献者来自 1,400 个不同的电子邮件地址,高于 2020 年的 1,321 个,是到目前为止的历史最高水平。在 2020 年之前,没有一年的贡献者超过一千。现在一年有 1,400 个,这显示 LLVM 开源社区的增长相当不错。

更多介绍请阅读新闻出处,“LLVM Enjoyed Record Growth In 2021, Many Exciting Compiler Advancements”: https://www.phoronix.com/scan.php?page=news_item&px=LLVM-Record-Growth-2021

关键词: LLVM

联系我们

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

tinylab wechat



Read Album:

Read Related:

Read Latest: