On Tue, May 14, 2024 at 04:04:40PM +0200, Björn Töpel wrote: > From: Björn Töpel <bjorn@xxxxxxxxxxxx> > > Prepare for memory hotplugging support by changing from __init to > __meminit for the page table functions that are used by the upcoming > architecture specific callbacks. > > Changing the __init attribute to __meminit, avoids that the functions > are removed after init. The __meminit attribute makes sure the > functions are kept in the kernel text post init, but only if memory > hotplugging is enabled for the build. > > Also, make sure that the altmap parameter is properly passed on to > vmemmap_populate_hugepages(). > > Signed-off-by: Björn Töpel <bjorn@xxxxxxxxxxxx> Reviewed-by: Oscar Salvador <osalvador@xxxxxxx> > +static void __meminit create_linear_mapping_range(phys_addr_t start, phys_addr_t end, > + uintptr_t fixed_map_size) > { > phys_addr_t pa; > uintptr_t va, map_size; > @@ -1435,7 +1429,7 @@ int __meminit vmemmap_populate(unsigned long start, unsigned long end, int node, > * memory hotplug, we are not able to update all the page tables with > * the new PMDs. > */ > - return vmemmap_populate_hugepages(start, end, node, NULL); > + return vmemmap_populate_hugepages(start, end, node, altmap); I would have put this into a separate patch. -- Oscar Salvador SUSE Labs