Linux's SLAB Allocator Is Officially Deprecated
Following the path of SLOB, Linux's SLAB memory allocator is now officially deprecated beginning with the Linux 6.5 kernel series.
We've known of the plans to deprecate SLAB and eventually remove it just like SLOB was deprecated and then removed in Linux 6.4 in order to focus on SLUB. Following no objections at the LSF/MM meet-up or any other objections raised for deprecating SLAB, its deprecation was submitted earlier this week and then merged this morning into Linux Git.
Barring any surprise action, the SLAB code should in turn be removed from the mainline kernel in a kernel release over the coming months. If you have a novel use/need for SLAB with SLUB somehow not satisfying it, it's best to raise any objections as soon as possible to kernel developers.
This deprecation drops "CONFIG_SLAB" from the default kernel build from all of the used architectures. The CONFIG_SLAB option is also renamed to CONFIG_SLAB_DEPRECATED so it's clear now to users that it's the end of the road.
SLUB is short for the "unqueued slab allocator" and has been the default Linux kernel memory allocator since the late Linux 2.6 days.
We've known of the plans to deprecate SLAB and eventually remove it just like SLOB was deprecated and then removed in Linux 6.4 in order to focus on SLUB. Following no objections at the LSF/MM meet-up or any other objections raised for deprecating SLAB, its deprecation was submitted earlier this week and then merged this morning into Linux Git.
Barring any surprise action, the SLAB code should in turn be removed from the mainline kernel in a kernel release over the coming months. If you have a novel use/need for SLAB with SLUB somehow not satisfying it, it's best to raise any objections as soon as possible to kernel developers.
This deprecation drops "CONFIG_SLAB" from the default kernel build from all of the used architectures. The CONFIG_SLAB option is also renamed to CONFIG_SLAB_DEPRECATED so it's clear now to users that it's the end of the road.
SLUB is short for the "unqueued slab allocator" and has been the default Linux kernel memory allocator since the late Linux 2.6 days.
3 Comments