diff --git a/[refs] b/[refs] index a460df2ebe77..81d0d6070294 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e4e6bdbb426d1ecd9e4587f22115f8d0d426d21f +refs/heads/master: 96ac5913f4e45c6a1b98350f2c0a8bb3abe2646a diff --git a/trunk/mm/oom_kill.c b/trunk/mm/oom_kill.c index 64cf3c214634..6969cfb33901 100644 --- a/trunk/mm/oom_kill.c +++ b/trunk/mm/oom_kill.c @@ -174,7 +174,12 @@ static inline int constrained_alloc(struct zonelist *zonelist, gfp_t gfp_mask) { #ifdef CONFIG_NUMA struct zone **z; - nodemask_t nodes = node_online_map; + nodemask_t nodes; + int node; + /* node has memory ? */ + for_each_online_node(node) + if (NODE_DATA(node)->node_present_pages) + node_set(node, nodes); for (z = zonelist->zones; *z; z++) if (cpuset_zone_allowed_softwall(*z, gfp_mask))