diff options
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r-- | mm/memcontrol.c | 5 |
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, | |||
4414 | */ | 4414 | */ |
4415 | BUG_ON(!thresholds); | 4415 | BUG_ON(!thresholds); |
4416 | 4416 | ||
4417 | if (!thresholds->primary) | ||
4418 | goto unlock; | ||
4419 | |||
4417 | usage = mem_cgroup_usage(memcg, type == _MEMSWAP); | 4420 | usage = mem_cgroup_usage(memcg, type == _MEMSWAP); |
4418 | 4421 | ||
4419 | /* Check if a threshold crossed before removing */ | 4422 | /* Check if a threshold crossed before removing */ |
@@ -4462,7 +4465,7 @@ swap_buffers: | |||
4462 | 4465 | ||
4463 | /* To be sure that nobody uses thresholds */ | 4466 | /* To be sure that nobody uses thresholds */ |
4464 | synchronize_rcu(); | 4467 | synchronize_rcu(); |
4465 | 4468 | unlock: | |
4466 | mutex_unlock(&memcg->thresholds_lock); | 4469 | mutex_unlock(&memcg->thresholds_lock); |
4467 | } | 4470 | } |
4468 | 4471 | ||