Linux 6.10在删除Sysctl Sentinel Blob方面取得进展

2024年 5月 7日 109.5k 0

Linux 6.10在删除Sysctl Sentinel Blob方面取得进展-1在过去的一年里,Linux内核的sysctl代码中进行了大量工作,通过在每个数组的末尾删除最后一个sysctl“sentinel”条目,来清除整个内核中每个数组约64字节的膨胀。这也有助于减少内核的构建时间,是一个很好的改进。在Linux 6.10中,将在不同的子系统中进行sysctl哨兵清除。

终于清除了每个sysctl数组上的最后一个空元素。例如,网络子系统中的sysctl sentinel删除已在上周排队。

Linux 6.10在删除Sysctl Sentinel Blob方面取得进展-2

这次合并总结如下:

为什么?

通过删除sysctl sentinel元素,我们避免了内核膨胀,因为ctl_table数组从kernel/sysctl.c移到了它们自己的数组中

各自的子系统。这一举措早就开始了,以避免合并冲突;哨兵移除位是在Mathew Wilcox建议它避免在数组移出时使内核膨胀一个元素之后出现的。这个补丁集将使内核的总体构建时大小和运行时内存膨胀减少约64字节/声明的ctl_table数组。

...

在vmlinux中节省:

移除后,每个哨兵总共保存64个字节;我以x86_64为单位进行了测量,以给出合计节省的想法。实际节省将取决于单个内核配置。

*膨胀计

-“yesall”配置可节省3976字节

-减少配置可节省1263字节

节省分配的内存:

在这个集合中没有,但当从proc_sysctl.c中删除多余的分配时会发生。我在这里包括它作为上下文。在引导配置期间估计节省了6272个字节。

Nice to see this sysctl sentinel clearing work culminating after the lengthy effort over the past year.

相关文章

塑造我成为 CTO 之路的“秘诀”
“人工智能教母”的公司估值达 10 亿美金
教授吐槽:985 高校成高级蓝翔!研究生基本废了,只为房子、票子……
Windows 蓝屏中断提醒开发者:Rust 比 C/C++ 更好
Claude 3.5 Sonnet 在伽利略幻觉指数中名列前茅
上海新增 11 款已完成登记生成式 AI 服务

发布评论