diff options
Diffstat (limited to 'mm/swap_state.c')
-rw-r--r-- | mm/swap_state.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/swap_state.c b/mm/swap_state.c index 09291ca11f5f..3ecea98ecb45 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/backing-dev.h> | 17 | #include <linux/backing-dev.h> |
18 | #include <linux/pagevec.h> | 18 | #include <linux/pagevec.h> |
19 | #include <linux/migrate.h> | 19 | #include <linux/migrate.h> |
20 | #include <linux/page_cgroup.h> | ||
20 | 21 | ||
21 | #include <asm/pgtable.h> | 22 | #include <asm/pgtable.h> |
22 | 23 | ||
@@ -108,6 +109,8 @@ int add_to_swap_cache(struct page *page, swp_entry_t entry, gfp_t gfp_mask) | |||
108 | */ | 109 | */ |
109 | void __delete_from_swap_cache(struct page *page) | 110 | void __delete_from_swap_cache(struct page *page) |
110 | { | 111 | { |
112 | swp_entry_t ent = {.val = page_private(page)}; | ||
113 | |||
111 | VM_BUG_ON(!PageLocked(page)); | 114 | VM_BUG_ON(!PageLocked(page)); |
112 | VM_BUG_ON(!PageSwapCache(page)); | 115 | VM_BUG_ON(!PageSwapCache(page)); |
113 | VM_BUG_ON(PageWriteback(page)); | 116 | VM_BUG_ON(PageWriteback(page)); |
@@ -118,7 +121,7 @@ void __delete_from_swap_cache(struct page *page) | |||
118 | total_swapcache_pages--; | 121 | total_swapcache_pages--; |
119 | __dec_zone_page_state(page, NR_FILE_PAGES); | 122 | __dec_zone_page_state(page, NR_FILE_PAGES); |
120 | INC_CACHE_INFO(del_total); | 123 | INC_CACHE_INFO(del_total); |
121 | mem_cgroup_uncharge_swapcache(page); | 124 | mem_cgroup_uncharge_swapcache(page, ent); |
122 | } | 125 | } |
123 | 126 | ||
124 | /** | 127 | /** |