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 <[email protected]> Signed-off-by: Vlastimil Babka <[email protected]> --- 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

