自今年夏天Linux 6.5内核发布以来
SLAB分配器已被正式弃用
。随后
SLOB的消亡
并尝试将所有Linux用户转移到SLUB分配器。现在已经发布了从主线内核中永久剥离SLAB分配器的补丁。
当SLAB分配器被弃用时,Linux内核开发人员希望听到任何人认为SLAB是必要的/SLUB不起作用。。。好吧,几个月后,显然没有什么实质性的事情发生,上游内核维护人员已经准备好了
像安腾(IA-64)一样发送
周一发布的补丁将继续进行,并将从内核源代码树中完全删除SLAB。
从Linux内核中剥离SLAB分配器代码可以释放4000多行代码。考虑到内核的巨大规模,4k行数并不太重要,但每一点点都很重要,尤其是在释放技术债务和让内核开发人员能够改进SLUB而不必担心遗留的破坏问题/维护代码方面。
弗拉斯蒂米尔·巴布卡在
补丁
下落SLAB:
“SLAB分配器从6.5开始就被弃用了,到目前为止还没有人反对。正如我们在LSF/MM上达成的协议,我们应该等到下一个LTS内核发布后再进行删除。AFAIK这个版本还没有公布,但假设它是6.7,我们可以以6.8为目标,并在6.7周期内开始向linux公开删除。
为了保持该系列的大小合理,并且不从mm和密切相关的子系统之外的其他子系统吸引人,我没有试图删除外部区域和defconfigs中对dead-config选项的所有不必要引用。这样的清理可以在合并后发送给相应的维护人员并由其处理。
相反,我添加了一些补丁,旨在从删除中获得一些即时的好处,主要是因为不再需要在slab_common.c和slub.c之间分割一些快速路径代码。但这也不是一项详尽的工作,我预计稍后会有更多的清理和优化。“
So if all goes well, Linux 6.8 could be the release that completely does away with SLAB. SLUB has been the default since the Linux 2.6.23 kernel.