[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20170316123449.GE30508@dhcp22.suse.cz>
Date: Thu, 16 Mar 2017 13:34:49 +0100
From: Michal Hocko <mhocko@...nel.org>
To: Avi Kivity <avi@...lladb.com>
Cc: linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: Re: MAP_POPULATE vs. MADV_HUGEPAGES
On Wed 15-03-17 18:50:32, Avi Kivity wrote:
> A user is trying to allocate 1TB of anonymous memory in parallel on 48 cores
> (4 NUMA nodes). The kernel ends up spinning in isolate_freepages_block().
Which kernel version is that? What is the THP defrag mode
(/sys/kernel/mm/transparent_hugepage/defrag)?
> I thought to help it along by using MAP_POPULATE, but then my MADV_HUGEPAGE
> won't be seen until after mmap() completes, with pages already populated.
> Are MAP_POPULATE and MADV_HUGEPAGE mutually exclusive?
Why do you need MADV_HUGEPAGE?
> Is my only option to serialize those memory allocations, and fault in those
> pages manually? Or perhaps use mlock()?
I am still not 100% sure I see what you are trying to achieve, though.
So you do not want all those processes to contend inside the compaction
while still allocate as many huge pages as possible?
--
Michal Hocko
SUSE Labs
Powered by blists - more mailing lists