diff --git a/[refs] b/[refs] index 4afafc103c90..bfd69fc024a7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 3c26c9d9597f982973b9b3a32364230096ab0d78 +refs/heads/master: 4d845ebf4cf9e985b1704b1f08b37f744b4ede13 diff --git a/trunk/mm/memcontrol.c b/trunk/mm/memcontrol.c index c6ece0a57595..20a8193a7af8 100644 --- a/trunk/mm/memcontrol.c +++ b/trunk/mm/memcontrol.c @@ -1370,7 +1370,7 @@ static void memcg_wakeup_oom(struct mem_cgroup *mem) static void memcg_oom_recover(struct mem_cgroup *mem) { - if (mem->oom_kill_disable && atomic_read(&mem->oom_lock)) + if (atomic_read(&mem->oom_lock)) memcg_wakeup_oom(mem); } @@ -3781,6 +3781,8 @@ static int mem_cgroup_oom_control_write(struct cgroup *cgrp, return -EINVAL; } mem->oom_kill_disable = val; + if (!val) + memcg_oom_recover(mem); cgroup_unlock(); return 0; }