Linux6.8正在继续工作,以允许删除sysctl前哨,这是sysctl数组上的最后一个空元素。这项正在进行的工作反过来将允许在每个sysctl数组上节省额外的64字节,并将增强内核的构建时间大小。
早在Linux6.6之前,这项工作就开始于消除每个数组约64个字节的膨胀和这项工作在Linux6.7中继续进行。现在,对于Linux6.8,这方面还有更多的工作要做,但消除sysctl哨兵的工作预计要到Linux6.9才能完成。
路易斯·张伯伦解释说, Sysctl更改对于Linux 6.8:
“为了帮助将sysctls移出内核/sysctl.c而不招致大小惩罚,sysctl已更改为允许我们不需要前哨,这是sysctl数组上的最后一个空元素。乔尔·格拉纳多斯一直在做这些工作。在V6.6内核上,我们进行了支持这一点所需的重大基础设施更改。对于V6.7,我们修改了所有的ARCH/和DIVERS/,以删除前哨。对于v6.8-rc1,我们只针对文件系统/目录获得了更多的更新。内核/目录还在,但我们将把它保存到v6.9-rc1,因为这些补丁仍在审查中。在此之后,我们还可以预期删除不再需要的对procname==NULL的检查。
让我们回顾一下这项工作的目的:
-这有助于将内核的总体构建时大小和内核消耗的运行时内存减少约64字节/数组
-现在,当我们将sysctls从内核/sysctl.c移出到它们自己的文件时,不再产生额外的64字节损失。“
Hopefully this work gets wrapped up for v6.9 this spring.