On Sat, Jan 7, 2017 at 1:27 AM, Michal Hocko <mho...@kernel.org> wrote: > On Fri 06-01-17 14:14:49, Eric Dumazet wrote:
>> I believe the intent was to get NUMA spreading, a bit like what we have >> in alloc_large_system_hash() when hashdist == HASHDIST_DEFAULT > > Hmm, I am not sure this works as expected then. Because it is more > likely that all pages backing the vmallocked area will come from the > local node than spread around more nodes. Or did I miss your point? Well, you missed that vmalloc() is aware of NUMA policies. If current process has requested interleave on 2 nodes (as it is done at boot time on a dual node system), then vmalloc() of 8 pages will allocate 4 pages on each node. If you force/attempt a kmalloc() of one order-3 page, chances are very high to get all memory on one single node.