提议中的Linux的动态内核堆栈功能补丁可节省大量内存

提议中的Linux的动态内核堆栈功能补丁可节省大量内存 Google一直在使用内核补丁来保持 8K 堆栈,但随着时间的推移,他们需要更大的堆栈大小,这反过来又增加了超大规模部署的内存使用量。为了减少增加的内存使用,Google一直在研究动态内核堆栈,因为许多内核线程都可以容纳在 4K 或 8K 的堆栈中。到目前为止,动态内核堆栈的 RFC 补丁工作进展顺利,已经进行了少量测试,并允许从 4K 扩展到 THREAD_SIZE 限制。Google工程师发现,动态内核堆栈平均可以节省 70% 到 75% 的内核堆栈内存。Pasha Tatashin 发布的早期结果很有希望,但可能取决于工作负载、虚拟化和其他因素:Tatashin 进一步补充说:"一些拥有数百万线程的工作负载可以从这一功能中显著受益。"对节省内核堆栈内存这项工作感兴趣的人,请参阅RFC 补丁系列。 ... PC版: 手机版:

相关推荐

封面图片

华为开发者提出为提高内存安全性而设计的Linux内核"沙盒模式"

华为开发者提出为提高内存安全性而设计的Linux内核"沙盒模式" 华为公司的 Petr Tesarik 发出了关于新 SandBox 模式的"征求意见"补丁系列。Petr 将 SandBox 模式描述为:"SandBox 模式的最终目标是在仅允许访问预定义地址的内存的环境中执行本地内核代码,因此潜在漏洞无法被利用或不会对内核的其他部分产生影响。该补丁系列将 SandBox 模式的 API 和架构独立的基础架构添加到内核中。它在所有输入和输出数据的 vmalloc() 编辑副本上运行目标函数。由于有了保护页,仅此一项就能防止一些越界访问"。SandBox 模式文档进一步补充道:"沙盒模式(SBM)的主要目标是通过分解内核来减少内核代码中潜在内存安全漏洞的影响。SBM API 允许在隔离的执行环境中运行每个组件。特别是,用作输入和/或输出的内存区域与内核的其他部分隔离,并由保护页包围。在实现了必要的拱形钩子的架构上,沙盒模式利用硬件分页设施和 CPU 权限级别,只强制使用这些预定义的内存区域。有了 arch 支持,SBM 还能从违反保护规定的情况中恢复。这意味着,SBM 会强制终止沙箱,并向调用者返回错误代码(如 ``-EFAULT``),以便继续执行。这种实现方式提供了*强隔离*"。上游内核开发人员对沙箱模式提案的接受程度还有待观察,有兴趣的开发者可以查看RFC 补丁系列,了解有关 Linux 内核刚刚提出的这一新增功能的更多信息。 ... PC版: 手机版:

封面图片

Linux V4L2 VP9 编解码器内核代码将用Rust重写 提高内存安全性

Linux V4L2 VP9 编解码器内核代码将用Rust重写 提高内存安全性 请求注释"代码将 VP9 库代码移植到 Rust 中,并将 RKVDEC 和 Hantro 驱动程序代码转换为使用 Rust 版本。 Fluendo 的 Fluster 测试表明,无论是使用 Rust 还是 C 版本的代码,结果都是一样的。Almeida 对 RFC 补丁发表了如下评论:关于驱动程序,我们在不同场合已经说了很多,我觉得目前的共识是等待。这就是为什么我提出一种不同的方法:将我们的编解码器库移植到 Rust 中。在我看来,这些组件可以从 Rust 中受益匪浅,因为它们实现了复杂的算法,同时还通过 V4L2 控制来处理从用户空间接收的数据。这些算法使用从用户空间接收的数据来索引大量数组,从而受益于 Rust 的内存安全性。关于代码的第一件事是它不包含任何绑定层。这里的 Rust 代码还为 C 驱动程序提供了一个 C API。这个 C API 是由 cbindgen 自动生成的,我已经提供了如何生成的说明。我们甚至可以同时使用 C 库和 Rust 库中的函数,因为 ABI 是相同的。以上内容非常有用,因为这意味着我们可以在必要时逐段转换给定的代码库。C 驱动程序将通过 C API 正常工作,而任何新的 Rust 驱动程序都将受益于本地 Rust 接口。他在补丁封面信中继续补充道:最后,请注意这段代码只是一个概念验证,如果反响良好,我们可以推出一个正式的补丁(包括所有相关内容)"感兴趣的人可以在内核邮件列表中找到这些 RFC 补丁,同时等待其他 Linux 内核上游利益相关者的反馈。 ... PC版: 手机版:

封面图片

Linux 6.9 将大大加快拥有大量内存系统的启动速度

Linux 6.9 将大大加快拥有大量内存系统的启动速度 字节跳动公司的 Linux 开发人员 Gang Li 投入了大量时间,经过多轮审查,终于使 HugeTLB 页面初始化成功。Gang Li 在早期的系列补丁中解释说:"启动过程中的 Hugetlb 初始化会占用大量时间。例如,在一个 2TB 系统上,初始化 1,800 个 1GB 巨大页面需要 10 秒中的 1-2 秒。而在 12TB 英特尔主机上初始化 11776 个 1GB 页面则需要 1 分钟以上。受[延迟页面初始化并行化]和[跳过巨型尾部结构页面初始化]的启发,hugetlb 初始化也可以通过并行化来加速。内核已经拥有 padata_doo_multithreaded 等基础架构,本补丁利用这些基础架构,以最小的修改实现有效的结果。"对于拥有大量 HugeTLB 页面的超大型服务器来说,这可以大大节省启动时间:对于超大型服务器和其他对服务可用性和系统正常运行时间要求极高的大型企业来说,在需要重启系统的情况下,更快的启动时间将带来极大的好处。 ... PC版: 手机版:

封面图片

AMD P-State首选内核将在Linux 6.9中获得支持

AMD P-State首选内核将在Linux 6.9中获得支持 特别是现在一些 AMD CPU 混合使用 Zen 4 和 Zen 4C 内核,AMD P-State 首选内核对于确保预期行为和最重要的进程在性能最佳的 CPU 内核上运行就更加重要了。从那时起,AMD 一直在开发首选核心 Linux 补丁,在过去的几个月里,已经对它们进行了 13 次以上的修订。这项工作取得了成果,AMD P-State 首选内核支持将在下一个内核周期中推出。Linux 电源管理子系统维护者拉斐尔-维索基(Rafael Wysocki)宣布,他已在 Linux 6.9 之前将 AMD 的第 14 版补丁排入他的电源管理"-next"树中。因此,在几个月后的 Linux 6.9 内核中,AMD P-State Preferred Core 将支持并默认启用默认使用 AMD P-State CPU 频率管理驱动程序的现代 Ryzen 系统。了解更多: ... PC版: 手机版:

封面图片

:一个安全、快速、通用的操作系统内核。 它提供于Linux相同的ABI,可无缝运行Linux应用, 但比Linux更加内存安全和

:一个安全、快速、通用的操作系统内核。 它提供于Linux相同的ABI,可无缝运行Linux应用, 但比Linux更加内存安全和开发者友好。 Asterinas在内存安全性方面远胜Linux。 它使用Rust作为唯一的编程语言, 并将unsafe Rust的使用限制在一个明确定义且最小的可信计算基础(TCB)上。 这种新颖的方法, 被称为框内核架构, 使星绽成为一个更安全、更可靠的内核选择。 而在开发者友好性方面,Asterinas优于Linux。 它赋能内核开发者们使用生产力更高的Rust编程语言;利用一个专为内核开发者设计的工具包(称为OSDK)来简化他们的工作流程;享受MPL所带来的灵活性, 可自由选择开源或闭源他们为Asterinas所开发的内核模块或驱动。

封面图片

Linux将无条件支持x86_64内核版本的5级分页功能

Linux将无条件支持x86_64内核版本的5级分页功能 英特尔 CPU 有一段时间(从 Ice Lake 开始)支持 5 级分页,AMD CPU则从 Zen 4 开始也支持 5 级分页。因此,Linux 内核可能会转向在 x86_64 内核构建中无条件启用 5 级分页支持。英特尔正着手在 Linux 内核中无条件启用5级分页支持。这将让虚拟地址大小从 48 位扩展到 57 位,以允许高达 128PB 的虚拟内存。英特尔工程师基里尔-舒特莫夫(Kirill Shutemov)最近发布了一系列补丁,旨在移除"CONFIG_X86_5LEVEL"Kconfig构建时选项,并在新的x86_64内核构建中始终启用5级分页。"移除 CONFIG_X86_5LEVEL。作为准备,移除 CONFIG_DYNAMIC_MEMORY_LAYOUT,使 SPARSEMEM_VMEMMAP 成为唯一的内存模型"。实际上,这并不意味着什么,因为大多数 Linux 发行版厂商的内核都启用了 CONFIG_X86_5LEVEL,但这减少了一个开关,也是上游内核更多地迎合现代硬件需求的时代标志。 ... PC版: 手机版:

🔍 发送关键词来寻找群组、频道或视频。

启动SOSO机器人