On 3/15/23 03:54, Roman Gushchin wrote: > On Tue, Mar 14, 2023 at 09:05:13AM +0100, Vlastimil Babka wrote: >> As you're probably aware, my plan is to get rid of SLOB and SLAB, leaving >> only SLUB going forward. The removal of SLOB seems to be going well, there >> were no objections to the deprecation and I've posted v1 of the removal >> itself [1] so it could be in -next soon. >> >> The immediate benefit of that is that we can allow kfree() (and kfree_rcu()) >> to free objects from kmem_cache_alloc() - something that IIRC at least xfs >> people wanted in the past, and SLOB was incompatible with that. >> >> For SLAB removal I haven't yet heard any objections (but also didn't >> deprecate it yet) but if there are any users due to particular workloads >> doing better with SLAB than SLUB, we can discuss why those would regress and >> what can be done about that in SLUB. >> >> Once we have just one slab allocator in the kernel, we can take a closer >> look at what the users are missing from it that forces them to create own >> allocators (e.g. BPF), and could be considered to be added as a generic >> implementation to SLUB. > > I guess eventually we want to merge the percpu allocator too. What exactly do you mean here, probably not mm/percpu.c which is too different from slab, but some kind of per-cpu object cache on top of slab?