Commit 54e9e291 authored by David Rientjes's avatar David Rientjes Committed by Linus Torvalds

mm, oom: pass an oom order of -1 when triggered by sysrq

The force_kill member of struct oom_control isn't needed if an order of -1
is used instead.  This is the same as order == -1 in struct
compact_control which requires full memory compaction.

This patch introduces no functional change.
Signed-off-by: default avatarDavid Rientjes <rientjes@google.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Cc: Michal Hocko <mhocko@suse.cz>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 6e0fc46d
......@@ -358,8 +358,7 @@ static void moom_callback(struct work_struct *ignored)
.zonelist = node_zonelist(first_memory_node, gfp_mask),
.nodemask = NULL,
.gfp_mask = gfp_mask,
.order = 0,
.force_kill = true,
.order = -1,
};
mutex_lock(&oom_lock);
......
......@@ -17,7 +17,6 @@ struct oom_control {
nodemask_t *nodemask;
gfp_t gfp_mask;
int order;
bool force_kill;
};
/*
......
......@@ -1550,7 +1550,6 @@ static void mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask,
.nodemask = NULL,
.gfp_mask = gfp_mask,
.order = order,
.force_kill = false,
};
struct mem_cgroup *iter;
unsigned long chosen_points = 0;
......
......@@ -265,7 +265,7 @@ enum oom_scan_t oom_scan_process_thread(struct oom_control *oc,
* Don't allow any other task to have access to the reserves.
*/
if (test_tsk_thread_flag(task, TIF_MEMDIE)) {
if (!oc->force_kill)
if (oc->order != -1)
return OOM_SCAN_ABORT;
}
if (!task->mm)
......@@ -278,7 +278,7 @@ enum oom_scan_t oom_scan_process_thread(struct oom_control *oc,
if (oom_task_origin(task))
return OOM_SCAN_SELECT;
if (task_will_free_mem(task) && !oc->force_kill)
if (task_will_free_mem(task) && oc->order != -1)
return OOM_SCAN_ABORT;
return OOM_SCAN_OK;
......@@ -718,7 +718,6 @@ void pagefault_out_of_memory(void)
.nodemask = NULL,
.gfp_mask = 0,
.order = 0,
.force_kill = false,
};
if (mem_cgroup_oom_synchronize(true))
......
......@@ -2698,7 +2698,6 @@ __alloc_pages_may_oom(gfp_t gfp_mask, unsigned int order,
.nodemask = ac->nodemask,
.gfp_mask = gfp_mask,
.order = order,
.force_kill = false,
};
struct page *page;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment