On Thu, Jun 13, 2013 at 09:03:00PM +0800, Tang Chen wrote: > From: Yinghai Lu <yinghai@xxxxxxxxxx> > > We could use numa_meminfo directly instead of memblock nid in > node_map_pfn_alignment(). > > So we could do setting memblock nid later and only do it once > for successful path. > > -v2: according to tj, separate moving to another patch. How about something like, Subject: x86, mm, NUMA: Use numa_meminfo instead of memblock in node_map_pfn_alignment() When sparsemem is used and page->flags doesn't have enough space to carry both the sparsemem section and node ID, NODE_NOT_IN_PAGE_FLAGS is set and the node is determined from section. This requires that the NUMA nodes aren't more granular than sparsemem sections. node_map_pfn_alignment() is used to determine the maximum NUMA inter-node alignment which can distinguish all nodes to verify the above condition. The function currently assumes the NUMA node maps are populated and sorted and uses for_each_mem_pfn_range() to iterate memory regions. We want this to happen way earlier to support memory hotplug (maybe elaborate a bit more here). This patch updates node_map_pfn_alignment() so that it iterates over numa_meminfo instead and moves its invocation before memory regions are registered to memblock and node maps in numa_register_memblks(). This will help memory hotplug (how...) and as a bonus we register memory regions only if the alignment check succeeds rather than registering and then failing. Also, the comment on top of node_map_pfn_alignment() needs to be updated, right? Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html