庞大的2.3k补丁系列将缩短 Linux 内核构建时间和解决依赖地狱

简介: 庞大的2.3k补丁系列将缩短 Linux 内核构建时间和解决依赖地狱

近日,资深内核开发者 Ingo Molnar 提交了一个含有 2,297 个补丁的巨大补丁集,并将之命名为"Fast Kernel Headers"。他表示自己从 2020 年底就启动了这个项目,这是对 Linux 内核的头文件层次结构和头文件依赖项的全面重塑,旨在加速 Linux 的构建时间和解决“依赖地狱”问题。

什么是“依赖地狱”?

Molnar在补丁信中写道:"大多数内核开发者都知道,Linux内核中大约有1万个主要的.h头文件,在include/和arch/*/include/层次中。在过去的30多年里,它们已经成长为一套复杂而痛苦的交叉依赖关系,我们亲切地称之为"依赖地狱"。

这个巨大的补丁集将许多高级头文件与其他文件解耦、取消了不必要的函数、将类型和 API 头文件解耦、自动处理头文件依赖,以及其他各种变化,因此,与当前内核相比,启用了"Fast Kernel Headers"补丁的内核构建量每小时可能有 78% 的改进。在所支持的架构上,绝对的内核构建性能有可能提高 50~80%。

image.png

到目前为止,"Fast Kernel Headers"已经在 x86/x86_64、SPARC、MIPS 和 ARM64 架构上进行了测试。

这套庞大的补丁涉及到大部分的Linux内核代码库,加快了Linux内核编译的速度(包括清洁构建和增量构建)。它最初是以"征求意见"的方式发出的,凭借如此大范围的内核构建时间改进的能力,所以很多开发者希望这个补丁集能够在不远的将来以某种方式被审查后,顺利进入内核主线。

更多内容请查看:https://lkml.org/lkml/2022/1/...

相关文章
|
9天前
|
Linux C语言
Linux内核队列queue.h
Linux内核队列queue.h
|
28天前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】⭐Linux 卸载已加载的内核模块rmmod命令 使用指南
【Shell 命令集合 系统设置 】⭐Linux 卸载已加载的内核模块rmmod命令 使用指南
29 1
|
2天前
|
算法 Linux 调度
深入理解Linux内核的进程调度机制
【4月更文挑战第17天】在多任务操作系统中,进程调度是核心功能之一,它决定了处理机资源的分配。本文旨在剖析Linux操作系统内核的进程调度机制,详细讨论其调度策略、调度算法及实现原理,并探讨了其对系统性能的影响。通过分析CFS(完全公平调度器)和实时调度策略,揭示了Linux如何在保证响应速度与公平性之间取得平衡。文章还将评估最新的调度技术趋势,如容器化和云计算环境下的调度优化。
|
7天前
|
算法 Linux 调度
深度解析:Linux内核的进程调度机制
【4月更文挑战第12天】 在多任务操作系统如Linux中,进程调度机制是系统的核心组成部分之一,它决定了处理器资源如何分配给多个竞争的进程。本文深入探讨了Linux内核中的进程调度策略和相关算法,包括其设计哲学、实现原理及对系统性能的影响。通过分析进程调度器的工作原理,我们能够理解操作系统如何平衡效率、公平性和响应性,进而优化系统表现和用户体验。
18 3
|
14天前
|
负载均衡 算法 Linux
深度解析:Linux内核调度器的演变与优化策略
【4月更文挑战第5天】 在本文中,我们将深入探讨Linux操作系统的核心组成部分——内核调度器。文章将首先回顾Linux内核调度器的发展历程,从早期的简单轮转调度(Round Robin)到现代的完全公平调度器(Completely Fair Scheduler, CFS)。接着,分析当前CFS面临的挑战以及社区提出的各种优化方案,最后提出未来可能的发展趋势和研究方向。通过本文,读者将对Linux调度器的原理、实现及其优化有一个全面的认识。
|
14天前
|
Ubuntu Linux
Linux查看内核版本
在Linux系统中查看内核版本有多种方法:1) 使用`uname -r`命令直接显示版本号;2) 通过`cat /proc/version`查看内核详细信息;3) 利用`dmesg | grep Linux`显示内核版本行;4) 如果支持,使用`lsb_release -a`查看发行版及内核版本。
36 6
|
17天前
|
Linux 内存技术
Linux内核读取spi-nor flash sn
Linux内核读取spi-nor flash sn
14 1
|
24天前
|
存储 网络协议 Linux
【Linux 解惑 】谈谈你对linux内核的理解
【Linux 解惑 】谈谈你对linux内核的理解
23 0
|
28天前
|
存储 Linux Shell
【Shell 命令集合 系统设置 】Linux 显示Linux内核模块的详细信息 modinfo命令 使用指南
【Shell 命令集合 系统设置 】Linux 显示Linux内核模块的详细信息 modinfo命令 使用指南
24 0
|
28天前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】⭐Linux 向内核中加载指定的模块 insmod命令 使用指南
【Shell 命令集合 系统设置 】⭐Linux 向内核中加载指定的模块 insmod命令 使用指南
29 0