From d1af67a3d1ac0864e09e224d10e4e4664bbc0bf4 Mon Sep 17 00:00:00 2001 From: Johannes Weiner Date: Thu, 25 Aug 2011 15:59:16 -0700 Subject: [PATCH] --- yaml --- r: 263339 b: refs/heads/master c: 23751be0094012eb6b4756fa80ca54b3eb83069f h: refs/heads/master i: 263337: e1afdcaa052ff36be537501076ab26fb7d6e7129 263335: a8d79dc88ca8a6ef76c7c8bcb2f495f94a815698 v: v3 --- [refs] | 2 +- trunk/mm/memcontrol.c | 17 +++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/[refs] b/[refs] index 00b71ff09950..f2790768f5ab 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 86383b55791bd97e88ef493e33ef521ee244f3d9 +refs/heads/master: 23751be0094012eb6b4756fa80ca54b3eb83069f diff --git a/trunk/mm/memcontrol.c b/trunk/mm/memcontrol.c index 0e40f0205732..ebd1e86bef1c 100644 --- a/trunk/mm/memcontrol.c +++ b/trunk/mm/memcontrol.c @@ -1841,29 +1841,23 @@ static int mem_cgroup_hierarchical_reclaim(struct mem_cgroup *root_mem, */ static bool mem_cgroup_oom_lock(struct mem_cgroup *mem) { - int lock_count = -1; struct mem_cgroup *iter, *failed = NULL; bool cond = true; for_each_mem_cgroup_tree_cond(iter, mem, cond) { - bool locked = iter->oom_lock; - - iter->oom_lock = true; - if (lock_count == -1) - lock_count = iter->oom_lock; - else if (lock_count != locked) { + if (iter->oom_lock) { /* * this subtree of our hierarchy is already locked * so we cannot give a lock. */ - lock_count = 0; failed = iter; cond = false; - } + } else + iter->oom_lock = true; } if (!failed) - goto done; + return true; /* * OK, we failed to lock the whole subtree so we have to clean up @@ -1877,8 +1871,7 @@ static bool mem_cgroup_oom_lock(struct mem_cgroup *mem) } iter->oom_lock = false; } -done: - return lock_count; + return false; } /*