diff options
Diffstat (limited to 'mm')
-rw-r--r-- | mm/memcontrol.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 75e74408cc8f..d4a33e1b77d7 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c | |||
@@ -5544,6 +5544,7 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage) | |||
5544 | struct mem_cgroup *memcg; | 5544 | struct mem_cgroup *memcg; |
5545 | unsigned int nr_pages; | 5545 | unsigned int nr_pages; |
5546 | bool compound; | 5546 | bool compound; |
5547 | unsigned long flags; | ||
5547 | 5548 | ||
5548 | VM_BUG_ON_PAGE(!PageLocked(oldpage), oldpage); | 5549 | VM_BUG_ON_PAGE(!PageLocked(oldpage), oldpage); |
5549 | VM_BUG_ON_PAGE(!PageLocked(newpage), newpage); | 5550 | VM_BUG_ON_PAGE(!PageLocked(newpage), newpage); |
@@ -5574,10 +5575,10 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage) | |||
5574 | 5575 | ||
5575 | commit_charge(newpage, memcg, false); | 5576 | commit_charge(newpage, memcg, false); |
5576 | 5577 | ||
5577 | local_irq_disable(); | 5578 | local_irq_save(flags); |
5578 | mem_cgroup_charge_statistics(memcg, newpage, compound, nr_pages); | 5579 | mem_cgroup_charge_statistics(memcg, newpage, compound, nr_pages); |
5579 | memcg_check_events(memcg, newpage); | 5580 | memcg_check_events(memcg, newpage); |
5580 | local_irq_enable(); | 5581 | local_irq_restore(flags); |
5581 | } | 5582 | } |
5582 | 5583 | ||
5583 | DEFINE_STATIC_KEY_FALSE(memcg_sockets_enabled_key); | 5584 | DEFINE_STATIC_KEY_FALSE(memcg_sockets_enabled_key); |