Re: [RFC PATCH v5 13/16] slub: Enable balancing slabs across nodes

From: Roman Gushchin
Date: Mon May 20 2019 - 21:07:24 EST


On Mon, May 20, 2019 at 03:40:14PM +1000, Tobin C. Harding wrote:
> We have just implemented Slab Movable Objects (SMO). On NUMA systems
> slabs can become unbalanced i.e. many slabs on one node while other
> nodes have few slabs. Using SMO we can balance the slabs across all
> the nodes.
>
> The algorithm used is as follows:
>
> 1. Move all objects to node 0 (this has the effect of defragmenting the
> cache).

This already sounds dangerous (or costly). Can't it be done without
cross-node data moves?

>
> 2. Calculate the desired number of slabs for each node (this is done
> using the approximation nr_slabs / nr_nodes).

So that on this step only (actual data size - desired data size) has
to be moved?

Thanks!