On Tue, 9 Mar 2021, Linus Torvalds wrote: > So when you wrote: > > However, the current code accidentally stops looking at the partial list > completely in that case. Especially on kernels without CONFIG_NUMA set, > this means that get_partial() fails and new_slab_objects() falls back to > new_slab(), allocating new pages. This could lead to an unnecessary > increase in memory fragmentation. > > it really looks like this might well have been very intentional > indeed. Or at least very beneficial for _some_ loads. > > Comments? Yes the thought was that adding an additional page when contention is there on the page objects will increase possible concurrency while avoiding locks and increase the ability to allocate / free concurrently from a multitude of objects.