On Mon, Oct 04, 2021 at 04:05:23PM +0200, Christoph Lameter wrote: > On Sun, 3 Oct 2021, Hyeonggon Yoo wrote: > > > As remote node allocation isn't that frequent and better avoided, > > this patch tries to compromise some execution time for memory usage. > > Remote node allocation is typical for large memory loads and essential to > balance the memory allocation over multiple nodes. Large NUMA systems > exist because the memory requirements of the application cannot be > satisfied by what a single node has to offer and usually code threads from > multiple nodes may access remote memory. > > > Remove init_reap_node, next_reap_node and related variables > > introduced by commit 8fce4d8e3b9e ("[PATCH] slab: Node rotor for freeing > > alien caches and remote per cpu pages."), Because it has only one tree > > for all remote nodes. > > Rotors to spread the memory allocated are essential for the performance > of large memory loads! Memory must be spread evenly otherwise memory > accesses will overload a single node. Sorry for making a noise. It was because I misunderstood NUMA. Thought it should be not frequent because kernel's default memory allocation policy was allocating from local node. It would have been better If I asked why it uses much memory first, not writing code. I'll be more careful next time. Thank you for reviewing! Thanks, Hyeonggon