On 25.01.21 12:18, Oscar Salvador wrote: > On Mon, Jan 25, 2021 at 11:57:20AM +0100, David Hildenbrand wrote: >> I'm confused. >> >> 1. Assume we hotplug memory, online it to ZONE_MOVABLE. The vmemmap gets >> allocated from altmap space. > > The vmemmap could have never been allocated from altmap in case hpage vmemmap > feature is enabled. > > Have a look at [1]. > If is_hugetlb_free_vmemmap_enabled(), vmemmap_populate() ends up calling > vmemmap_populate_basepages(). Oh, it calls "vmemmap_populate_basepages(start, end, node, NULL);" the "NULL" part is the important bit. > > And since no memory was consumed from altmap, and hence altmap_alloc_block_buf() > was never called, vmem_altmap->alloc will be 0, and memory_block->nr_vmemmap_pages > will be 0 as well. > > But on a second though, true is that we will get in trouble if hpage vmemmap > feature ever gets to work with vmemmap_populate_hugepages. > I will queue that to look in a new future. This seriously needs comments and documentation. The problem is where to document as long as one of both series is not merged yet :) At least in the cover letter, because this is not obvious how both things will play along. Thanks! -- Thanks, David / dhildenb