Memoryless nodes: OOM: use N_HIGH_MEMORY map instead of constructing one on the fly
authorChristoph Lameter <[email protected]>
Tue, 16 Oct 2007 08:25:30 +0000 (01:25 -0700)
committerLinus Torvalds <[email protected]>
Tue, 16 Oct 2007 16:42:58 +0000 (09:42 -0700)
constrained_alloc() builds its own memory map for nodes with memory.  We have
that available in N_HIGH_MEMORY now.  So simplify the code.

Signed-off-by: Christoph Lameter <[email protected]>
Acked-by: Nishanth Aravamudan <[email protected]>
Acked-by: Lee Schermerhorn <[email protected]>
Acked-by: Bob Picco <[email protected]>
Cc: KAMEZAWA Hiroyuki <[email protected]>
Cc: Mel Gorman <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
mm/oom_kill.c

index f9b82ad5047f7c7a175afc5c197108fecca48e84..41b4e362221d943ba1759d9de3d740222f067c98 100644 (file)
@@ -177,14 +177,7 @@ static inline int constrained_alloc(struct zonelist *zonelist, gfp_t gfp_mask)
 {
 #ifdef CONFIG_NUMA
        struct zone **z;
-       nodemask_t nodes;
-       int node;
-
-       nodes_clear(nodes);
-       /* node has memory ? */
-       for_each_online_node(node)
-               if (NODE_DATA(node)->node_present_pages)
-                       node_set(node, nodes);
+       nodemask_t nodes = node_states[N_HIGH_MEMORY];
 
        for (z = zonelist->zones; *z; z++)
                if (cpuset_zone_allowed_softwall(*z, gfp_mask))