diff options
Diffstat (limited to 'mm/memcontrol.c')
-rw-r--r-- | mm/memcontrol.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index acb93c554f6e..1af057575ce9 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -5965,7 +5965,13 @@ void mem_cgroup_swapout(struct page *page, swp_entry_t entry) | |||
5965 | if (!mem_cgroup_is_root(memcg)) | 5965 | if (!mem_cgroup_is_root(memcg)) |
5966 | page_counter_uncharge(&memcg->memory, 1); | 5966 | page_counter_uncharge(&memcg->memory, 1); |
5967 | 5967 | ||
5968 | /* Caller disabled preemption with mapping->tree_lock */ | 5968 | /* |
5969 | * Interrupts should be disabled here because the caller holds the | ||
5970 | * mapping->tree_lock lock which is taken with interrupts-off. It is | ||
5971 | * important here to have the interrupts disabled because it is the | ||
5972 | * only synchronisation we have for udpating the per-CPU variables. | ||
5973 | */ | ||
5974 | VM_BUG_ON(!irqs_disabled()); | ||
5969 | mem_cgroup_charge_statistics(memcg, page, -1); | 5975 | mem_cgroup_charge_statistics(memcg, page, -1); |
5970 | memcg_check_events(memcg, page); | 5976 | memcg_check_events(memcg, page); |
5971 | } | 5977 | } |