alloc_pages_node() now warns when an offline node is passed. Make it fallback to the local (or nearest) node as if NUMA_NO_NODE nid is passed, but keep the VM_WARN_ON warning. Suggested-by: David Rientjes <rientjes@xxxxxxxxxx> Signed-off-by: Vlastimil Babka <vbabka@xxxxxxx> --- David's suggested if(VM_WARN_ON(...)) doesn't work that way, hence this more involved and awkward syntax. include/linux/gfp.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 531c72d..104a027 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h @@ -321,8 +321,12 @@ static inline struct page *alloc_pages_node(int nid, gfp_t gfp_mask, unsigned int order) { /* Unknown node is current (or closest) node */ - if (nid == NUMA_NO_NODE) + if (nid == NUMA_NO_NODE) { nid = numa_mem_id(); + } else if (!node_online(nid)) { + VM_WARN_ON(!node_online(nid)); + nid = numa_mem_id(); + } return __alloc_pages_node(nid, gfp_mask, order); } -- 2.4.6 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>