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: David Rientjes <rientjes@google.com>
Cc: Sergey Senozhatsky <sergey.senozhatsky.work@gmail.com>
Cc: Michal Hocko <mhocko@suse.cz>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
David Rientjes 2015-09-08 15:00:39 -07:00 committed by Linus Torvalds
parent 6e0fc46dc2
commit 54e9e29132
5 changed files with 3 additions and 8 deletions

View File

@ -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);

View File

@ -17,7 +17,6 @@ struct oom_control {
nodemask_t *nodemask;
gfp_t gfp_mask;
int order;
bool force_kill;
};
/*

View File

@ -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;

View File

@ -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))

View File

@ -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;