diff options
-rw-r--r-- | drivers/tty/sysrq.c | 2 | ||||
-rw-r--r-- | include/linux/nodemask.h | 11 | ||||
-rw-r--r-- | mm/oom_kill.c | 2 |
3 files changed, 12 insertions, 3 deletions
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c index 454b65898e2c..42bad18c66c9 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c | |||
@@ -355,7 +355,7 @@ static struct sysrq_key_op sysrq_term_op = { | |||
355 | 355 | ||
356 | static void moom_callback(struct work_struct *ignored) | 356 | static void moom_callback(struct work_struct *ignored) |
357 | { | 357 | { |
358 | out_of_memory(node_zonelist(first_online_node, GFP_KERNEL), GFP_KERNEL, | 358 | out_of_memory(node_zonelist(first_memory_node, GFP_KERNEL), GFP_KERNEL, |
359 | 0, NULL, true); | 359 | 0, NULL, true); |
360 | } | 360 | } |
361 | 361 | ||
diff --git a/include/linux/nodemask.h b/include/linux/nodemask.h index 58b9a02c38d2..83a6aeda899d 100644 --- a/include/linux/nodemask.h +++ b/include/linux/nodemask.h | |||
@@ -430,7 +430,15 @@ static inline int num_node_state(enum node_states state) | |||
430 | for_each_node_mask((__node), node_states[__state]) | 430 | for_each_node_mask((__node), node_states[__state]) |
431 | 431 | ||
432 | #define first_online_node first_node(node_states[N_ONLINE]) | 432 | #define first_online_node first_node(node_states[N_ONLINE]) |
433 | #define next_online_node(nid) next_node((nid), node_states[N_ONLINE]) | 433 | #define first_memory_node first_node(node_states[N_MEMORY]) |
434 | static inline int next_online_node(int nid) | ||
435 | { | ||
436 | return next_node(nid, node_states[N_ONLINE]); | ||
437 | } | ||
438 | static inline int next_memory_node(int nid) | ||
439 | { | ||
440 | return next_node(nid, node_states[N_MEMORY]); | ||
441 | } | ||
434 | 442 | ||
435 | extern int nr_node_ids; | 443 | extern int nr_node_ids; |
436 | extern int nr_online_nodes; | 444 | extern int nr_online_nodes; |
@@ -471,6 +479,7 @@ static inline int num_node_state(enum node_states state) | |||
471 | for ( (node) = 0; (node) == 0; (node) = 1) | 479 | for ( (node) = 0; (node) == 0; (node) = 1) |
472 | 480 | ||
473 | #define first_online_node 0 | 481 | #define first_online_node 0 |
482 | #define first_memory_node 0 | ||
474 | #define next_online_node(nid) (MAX_NUMNODES) | 483 | #define next_online_node(nid) (MAX_NUMNODES) |
475 | #define nr_node_ids 1 | 484 | #define nr_node_ids 1 |
476 | #define nr_online_nodes 1 | 485 | #define nr_online_nodes 1 |
diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 3291e82d4352..b0a1e1ff0353 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c | |||
@@ -694,7 +694,7 @@ void pagefault_out_of_memory(void) | |||
694 | if (mem_cgroup_oom_synchronize(true)) | 694 | if (mem_cgroup_oom_synchronize(true)) |
695 | return; | 695 | return; |
696 | 696 | ||
697 | zonelist = node_zonelist(first_online_node, GFP_KERNEL); | 697 | zonelist = node_zonelist(first_memory_node, GFP_KERNEL); |
698 | if (try_set_zonelist_oom(zonelist, GFP_KERNEL)) { | 698 | if (try_set_zonelist_oom(zonelist, GFP_KERNEL)) { |
699 | out_of_memory(NULL, 0, 0, NULL, false); | 699 | out_of_memory(NULL, 0, 0, NULL, false); |
700 | clear_zonelist_oom(zonelist, GFP_KERNEL); | 700 | clear_zonelist_oom(zonelist, GFP_KERNEL); |