Messages in this thread | | | Date | Mon, 17 Jun 2013 18:40:42 -0700 | From | Tejun Heo <> | Subject | Re: [Part1 PATCH v5 13/22] x86, mm, numa: Use numa_meminfo to check node_map_pfn alignment |
| |
On Thu, Jun 13, 2013 at 09:03:00PM +0800, Tang Chen wrote: > From: Yinghai Lu <yinghai@kernel.org> > > 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
| |