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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to