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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>