diff options
Diffstat (limited to 'mm/filemap.c')
| -rw-r--r-- | mm/filemap.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/mm/filemap.c b/mm/filemap.c index 379ff0bcbf6e..1b60f30cebfa 100644 --- a/mm/filemap.c +++ b/mm/filemap.c | |||
| @@ -121,7 +121,6 @@ void __remove_from_page_cache(struct page *page) | |||
| 121 | mapping->nrpages--; | 121 | mapping->nrpages--; |
| 122 | __dec_zone_page_state(page, NR_FILE_PAGES); | 122 | __dec_zone_page_state(page, NR_FILE_PAGES); |
| 123 | BUG_ON(page_mapped(page)); | 123 | BUG_ON(page_mapped(page)); |
| 124 | mem_cgroup_uncharge_cache_page(page); | ||
| 125 | 124 | ||
| 126 | /* | 125 | /* |
| 127 | * Some filesystems seem to re-dirty the page even after | 126 | * Some filesystems seem to re-dirty the page even after |
| @@ -145,6 +144,7 @@ void remove_from_page_cache(struct page *page) | |||
| 145 | spin_lock_irq(&mapping->tree_lock); | 144 | spin_lock_irq(&mapping->tree_lock); |
| 146 | __remove_from_page_cache(page); | 145 | __remove_from_page_cache(page); |
| 147 | spin_unlock_irq(&mapping->tree_lock); | 146 | spin_unlock_irq(&mapping->tree_lock); |
| 147 | mem_cgroup_uncharge_cache_page(page); | ||
| 148 | } | 148 | } |
| 149 | 149 | ||
| 150 | static int sync_page(void *word) | 150 | static int sync_page(void *word) |
| @@ -476,13 +476,13 @@ int add_to_page_cache_locked(struct page *page, struct address_space *mapping, | |||
| 476 | if (likely(!error)) { | 476 | if (likely(!error)) { |
| 477 | mapping->nrpages++; | 477 | mapping->nrpages++; |
| 478 | __inc_zone_page_state(page, NR_FILE_PAGES); | 478 | __inc_zone_page_state(page, NR_FILE_PAGES); |
| 479 | spin_unlock_irq(&mapping->tree_lock); | ||
| 479 | } else { | 480 | } else { |
| 480 | page->mapping = NULL; | 481 | page->mapping = NULL; |
| 482 | spin_unlock_irq(&mapping->tree_lock); | ||
| 481 | mem_cgroup_uncharge_cache_page(page); | 483 | mem_cgroup_uncharge_cache_page(page); |
| 482 | page_cache_release(page); | 484 | page_cache_release(page); |
| 483 | } | 485 | } |
| 484 | |||
| 485 | spin_unlock_irq(&mapping->tree_lock); | ||
| 486 | radix_tree_preload_end(); | 486 | radix_tree_preload_end(); |
| 487 | } else | 487 | } else |
| 488 | mem_cgroup_uncharge_cache_page(page); | 488 | mem_cgroup_uncharge_cache_page(page); |
