Re: [PATCH] oom, memcg: handle sysctl oom_kill_allocating_task whilememcg oom happening

From: David Rientjes
Date: Tue Oct 16 2012 - 14:44:17 EST


On Tue, 16 Oct 2012, Sha Zhengju wrote:

> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index e4e9b18..c329940 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -1486,6 +1486,15 @@ static void mem_cgroup_out_of_memory(struct mem_cgroup *memcg, gfp_t gfp_mask,
>
> check_panic_on_oom(CONSTRAINT_MEMCG, gfp_mask, order, NULL);
> totalpages = mem_cgroup_get_limit(memcg) >> PAGE_SHIFT ? : 1;
> + if (sysctl_oom_kill_allocating_task && current->mm &&
> + !oom_unkillable_task(current, memcg, NULL) &&
> + current->signal->oom_score_adj != OOM_SCORE_ADJ_MIN) {
> + get_task_struct(current);
> + oom_kill_process(current, gfp_mask, order, 0, totalpages, memcg, NULL,
> + "Memory cgroup out of memory (oom_kill_allocating_task)");
> + return;
> + }
> +
> for_each_mem_cgroup_tree(iter, memcg) {
> struct cgroup *cgroup = iter->css.cgroup;
> struct cgroup_iter it;

Please try to compile your patches and run scripts/checkpatch.pl on them
before proposing them.

You'll also need to update Documentation/sysctl/vm.txt.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/