|
@@ -5544,6 +5544,7 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage)
|
|
|
struct mem_cgroup *memcg;
|
|
|
unsigned int nr_pages;
|
|
|
bool compound;
|
|
|
+ unsigned long flags;
|
|
|
|
|
|
VM_BUG_ON_PAGE(!PageLocked(oldpage), oldpage);
|
|
|
VM_BUG_ON_PAGE(!PageLocked(newpage), newpage);
|
|
@@ -5574,10 +5575,10 @@ void mem_cgroup_migrate(struct page *oldpage, struct page *newpage)
|
|
|
|
|
|
commit_charge(newpage, memcg, false);
|
|
|
|
|
|
- local_irq_disable();
|
|
|
+ local_irq_save(flags);
|
|
|
mem_cgroup_charge_statistics(memcg, newpage, compound, nr_pages);
|
|
|
memcg_check_events(memcg, newpage);
|
|
|
- local_irq_enable();
|
|
|
+ local_irq_restore(flags);
|
|
|
}
|
|
|
|
|
|
DEFINE_STATIC_KEY_FALSE(memcg_sockets_enabled_key);
|