Re: [PATCH] mm: rename and document alloc_pages_exact_node

From: Vlastimil Babka
Date: Fri Jul 24 2015 - 10:52:33 EST


On 07/23/2015 10:27 PM, David Rientjes wrote:
On Thu, 23 Jul 2015, Christoph Lameter wrote:

The only possible downside would be existing users of
alloc_pages_node() that are calling it with an offline node. Since it's a
VM_BUG_ON() that would catch that, I think it should be changed to a
VM_WARN_ON() and eventually fixed up because it's nonsensical.
VM_BUG_ON() here should be avoided.

The offline node thing could be addresses by using numa_mem_id()?


I was concerned about any callers that were passing an offline node, not
NUMA_NO_NODE, today. One of the alloc-node functions has a VM_BUG_ON()
for it, the other silently calls node_zonelist() on it.

I suppose the final alloc_pages_node() implementation could be

if (nid == NUMA_NO_NODE || VM_WARN_ON(!node_online(nid)))
nid = numa_mem_id();

VM_BUG_ON(nid < 0 || nid >= MAX_NUMNODES);
return __alloc_pages(gfp_mask, order, node_zonelist(nid, gfp_mask));

though.

I've posted v2 based on David's and Christoph's suggestions (thanks) but to avoid spamming everyone until we agree on the final interface, it's marked as RFC and excludes the arch people from CC:

http://marc.info/?l=linux-kernel&m=143774920902608&w=2
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/