summaryrefslogtreecommitdiff
path: root/mm/memcontrol.c
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2012-02-28 12:39:56 +0000
committerArnd Bergmann <arnd@arndb.de>2012-02-28 12:40:01 +0000
commit4d8cfec692e988b844dcaeaeb76b5780b7ef9d28 (patch)
tree67d43adab2afd18a74d08f347e3676ae1a64193f /mm/memcontrol.c
parenta3a3c4664184f86ef964323d106c62158e2b3f25 (diff)
parent1d8c38c3d1b48eeb9cfaa42a8be13a1423569eb2 (diff)
Merge branch 'cleanup-3.4' of git://github.com/hzhuang1/linux into next/cleanup
* 'cleanup-3.4' of git://github.com/hzhuang1/linux: (2 commits) rtc: sa1100: remove verification code of alarm rtc: sa1100: remove periodic code (update to v3.3-rc5)
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r--mm/memcontrol.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 6728a7ae6f2d..228d6461c12a 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -4414,6 +4414,9 @@ static void mem_cgroup_usage_unregister_event(struct cgroup *cgrp,
*/
BUG_ON(!thresholds);
+ if (!thresholds->primary)
+ goto unlock;
+
usage = mem_cgroup_usage(memcg, type == _MEMSWAP);
/* Check if a threshold crossed before removing */
@@ -4462,7 +4465,7 @@ swap_buffers:
/* To be sure that nobody uses thresholds */
synchronize_rcu();
-
+unlock:
mutex_unlock(&memcg->thresholds_lock);
}