Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1601558

MAP_POPULATE vs. MADV_HUGEPAGES

From Avi Kivity <avi@scylladb.com>
Newsgroups linux.kernel
Subject MAP_POPULATE vs. MADV_HUGEPAGES
Date 2017-03-15 18:00 +0100
Message-ID <tlkrg-1Wi-19@gated-at.bofh.it> (permalink)
Organization ScyllaDB

Show all headers | View raw


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().


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?


Is my only option to serialize those memory allocations, and fault in 
those pages manually?  Or perhaps use mlock()?

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

MAP_POPULATE vs. MADV_HUGEPAGES Avi Kivity <avi@scylladb.com> - 2017-03-15 18:00 +0100
  Re: MAP_POPULATE vs. MADV_HUGEPAGES Michal Hocko <mhocko@kernel.org> - 2017-03-16 13:40 +0100
    Re: MAP_POPULATE vs. MADV_HUGEPAGES Avi Kivity <avi@scylladb.com> - 2017-03-16 14:30 +0100
      Re: MAP_POPULATE vs. MADV_HUGEPAGES Michal Hocko <mhocko@kernel.org> - 2017-03-16 15:50 +0100
        Re: MAP_POPULATE vs. MADV_HUGEPAGES Avi Kivity <avi@scylladb.com> - 2017-03-16 16:00 +0100
          Re: MAP_POPULATE vs. MADV_HUGEPAGES Michal Hocko <mhocko@kernel.org> - 2017-03-16 16:10 +0100

csiph-web