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.

Reply via email to