In 2022 the SLOB allocator was deprecated and removed with Linux 6.4 a year later. SLOB was popular with embedded systems with minimal amounts of RAM, so as a result the CONFIG_SLUB_TINY Kconfig option was then added for configuring the slab allocator for a minimal memory footprint for systems with 16MB of RAM or less. The CONFIG_SLUB_TINY is now on the chopping block with a proposed rework to the allocator code for making the "tiny" memory handling a boot time option. SUSE's Vlastimil Babka sent out the patch series today for replacing the CONFIG_SLUB_TINY with a boot-time "slab_tiny" parameter for achieving much of the same impact. CONFIG_SLUB_TINY would be deprecated while the "slab_tiny" boot parameter would control the functionality while ultimately making the code simpler and cleaned up. There are some parts of the code that couldn't be transformed to be boot-time controlled like dead code elimination and fast path inlining, merging of non-kmalloc reclaimable and unreclaimable caches, and ignoring SLAB_NO_MERGE for performance reasons. But the memory savings from those are said to be relatively minor. This RFC patch series lays out the code for introducing the slab_tiny Linux boot option. The slab_tiny option is only intended for use by embedded Linux systems with extremely limited memory. Using slab_tiny on larger Linux systems to try to save RAM isn't recommended due to the impact on SMP scalability by disabling per CPU object caching.
"slab_tiny" Boot Option Proposed For Tiny Linux Systems With Very Limited RAM
Full Article
Original Source
Read the full article at Phoronix →KhanList aggregates and links to publicly available news content. We do not host full articles from third-party sources. Always verify important information with original sources.