The commit is pushed to "branch-rh7-3.10.0-327.10.1.vz7.12.x-ovz" and will appear at https://src.openvz.org/scm/ovz/vzkernel.git after rh7-3.10.0-327.10.1.vz7.12.15 ------> commit e7c4b8f6b315c9e74e86da4fe5e7b981916efe07 Author: Vladimir Davydov <vdavy...@virtuozzo.com> Date: Fri Apr 29 19:28:59 2016 +0400
oom: zap unused oom_scan_process_thread arguments totalpages hasn't been used for ages. force_kill doesn't make sense in our case, because we skip TIF_MEMDIE tasks anyway. Signed-off-by: Vladimir Davydov <vdavy...@virtuozzo.com> Reviewed-by: Kirill Tkhai <ktk...@virtuozzo.com> --- drivers/tty/sysrq.c | 2 +- include/linux/oom.h | 5 ++--- mm/memcontrol.c | 3 +-- mm/oom_kill.c | 24 +++++++++--------------- mm/page_alloc.c | 2 +- 5 files changed, 14 insertions(+), 22 deletions(-) diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c index de29f8e..e7d334c 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c @@ -356,7 +356,7 @@ static struct sysrq_key_op sysrq_term_op = { static void moom_callback(struct work_struct *ignored) { out_of_memory(node_zonelist(first_online_node, GFP_KERNEL), GFP_KERNEL, - 0, NULL, true); + 0, NULL); } static DECLARE_WORK(moom_work, moom_callback); diff --git a/include/linux/oom.h b/include/linux/oom.h index acf58fc..5c2a7a4 100644 --- a/include/linux/oom.h +++ b/include/linux/oom.h @@ -99,11 +99,10 @@ extern void check_panic_on_oom(enum oom_constraint constraint, gfp_t gfp_mask, int order, const nodemask_t *nodemask); extern enum oom_scan_t oom_scan_process_thread(struct task_struct *task, - unsigned long totalpages, const nodemask_t *nodemask, - bool force_kill); + const nodemask_t *nodemask); extern void out_of_memory(struct zonelist *zonelist, gfp_t gfp_mask, - int order, nodemask_t *mask, bool force_kill); + int order, nodemask_t *mask); extern void exit_oom_victim(void); diff --git a/mm/memcontrol.c b/mm/memcontrol.c index a2ac582..82204b3 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -2039,8 +2039,7 @@ static void mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask, cgroup_iter_start(cgroup, &it); while ((task = cgroup_iter_next(cgroup, &it))) { - switch (oom_scan_process_thread(task, totalpages, NULL, - false)) { + switch (oom_scan_process_thread(task, NULL)) { case OOM_SCAN_SELECT: if (chosen) put_task_struct(chosen); diff --git a/mm/oom_kill.c b/mm/oom_kill.c index 8d1843f..5bc4ccf 100644 --- a/mm/oom_kill.c +++ b/mm/oom_kill.c @@ -317,8 +317,7 @@ static enum oom_constraint constrained_alloc(struct zonelist *zonelist, #endif enum oom_scan_t oom_scan_process_thread(struct task_struct *task, - unsigned long totalpages, const nodemask_t *nodemask, - bool force_kill) + const nodemask_t *nodemask) { if (oom_unkillable_task(task, NULL, nodemask)) return OOM_SCAN_CONTINUE; @@ -330,10 +329,9 @@ enum oom_scan_t oom_scan_process_thread(struct task_struct *task, * This can only happen if oom_trylock timeout-ed, which most probably * means that the victim had dead-locked. */ - if (test_tsk_thread_flag(task, TIF_MEMDIE)) { - if (!force_kill) - return OOM_SCAN_CONTINUE; - } + if (test_tsk_thread_flag(task, TIF_MEMDIE)) + return OOM_SCAN_CONTINUE; + if (!task->mm) return OOM_SCAN_CONTINUE; @@ -355,8 +353,7 @@ enum oom_scan_t oom_scan_process_thread(struct task_struct *task, */ static struct task_struct *select_bad_process(unsigned long *ppoints, unsigned long *poverdraft, - unsigned long totalpages, const nodemask_t *nodemask, - bool force_kill) + unsigned long totalpages, const nodemask_t *nodemask) { struct task_struct *g, *p; struct task_struct *chosen = NULL; @@ -368,8 +365,7 @@ static struct task_struct *select_bad_process(unsigned long *ppoints, unsigned int points; unsigned long overdraft; - switch (oom_scan_process_thread(p, totalpages, nodemask, - force_kill)) { + switch (oom_scan_process_thread(p, nodemask)) { case OOM_SCAN_SELECT: chosen = p; chosen_points = ULONG_MAX; @@ -954,7 +950,6 @@ EXPORT_SYMBOL_GPL(unregister_oom_notifier); * @gfp_mask: memory allocation flags * @order: amount of memory being requested as a power of 2 * @nodemask: nodemask passed to page allocator - * @force_kill: true if a task must be killed, even if others are exiting * * If we run out of memory, we have the choice between either * killing a random task (bad), letting the system crash (worse) @@ -962,7 +957,7 @@ EXPORT_SYMBOL_GPL(unregister_oom_notifier); * don't have to be perfect here, we just have to be good. */ void out_of_memory(struct zonelist *zonelist, gfp_t gfp_mask, - int order, nodemask_t *nodemask, bool force_kill) + int order, nodemask_t *nodemask) { const nodemask_t *mpol_mask; struct task_struct *p; @@ -1010,8 +1005,7 @@ void out_of_memory(struct zonelist *zonelist, gfp_t gfp_mask, return; } - p = select_bad_process(&points, &overdraft, totalpages, mpol_mask, - force_kill); + p = select_bad_process(&points, &overdraft, totalpages, mpol_mask); /* Found nothing?!?! Either we hang forever, or we panic. */ if (!p) { dump_header(NULL, gfp_mask, order, NULL, mpol_mask); @@ -1033,7 +1027,7 @@ void pagefault_out_of_memory(void) return; if (oom_trylock(NULL)) { - out_of_memory(NULL, 0, 0, NULL, false); + out_of_memory(NULL, 0, 0, NULL); oom_unlock(NULL); } } diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 9ab61fe..9a7ac88 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -2211,7 +2211,7 @@ __alloc_pages_may_oom(gfp_t gfp_mask, unsigned int order, goto out; } /* Exhausted what can be done so it's blamo time */ - out_of_memory(zonelist, gfp_mask, order, nodemask, false); + out_of_memory(zonelist, gfp_mask, order, nodemask); out: oom_unlock(NULL); _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel