[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iL7JTkV_r9Wqqcrsz1GJmTfWtxD1TUV1YOKsv3rwN-+vQ@mail.gmail.com>
Date: Sat, 7 Jan 2017 10:37:41 -0800
From: Eric Dumazet <edumazet@...gle.com>
To: Michal Hocko <mhocko@...nel.org>
Cc: Eric Dumazet <eric.dumazet@...il.com>,
Tom Herbert <tom@...bertland.com>, linux-mm@...ck.org,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: weird allocation pattern in alloc_ila_locks
On Sat, Jan 7, 2017 at 1:27 AM, Michal Hocko <mhocko@...nel.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.
Powered by blists - more mailing lists