diff options
Diffstat (limited to 'mm/shmem.c')
-rw-r--r-- | mm/shmem.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/mm/shmem.c b/mm/shmem.c index 1f1a8085538b..6dc80d298f9d 100644 --- a/mm/shmem.c +++ b/mm/shmem.c | |||
@@ -419,7 +419,6 @@ static void shmem_undo_range(struct inode *inode, loff_t lstart, loff_t lend, | |||
419 | pvec.pages, indices); | 419 | pvec.pages, indices); |
420 | if (!pvec.nr) | 420 | if (!pvec.nr) |
421 | break; | 421 | break; |
422 | mem_cgroup_uncharge_start(); | ||
423 | for (i = 0; i < pagevec_count(&pvec); i++) { | 422 | for (i = 0; i < pagevec_count(&pvec); i++) { |
424 | struct page *page = pvec.pages[i]; | 423 | struct page *page = pvec.pages[i]; |
425 | 424 | ||
@@ -447,7 +446,6 @@ static void shmem_undo_range(struct inode *inode, loff_t lstart, loff_t lend, | |||
447 | } | 446 | } |
448 | pagevec_remove_exceptionals(&pvec); | 447 | pagevec_remove_exceptionals(&pvec); |
449 | pagevec_release(&pvec); | 448 | pagevec_release(&pvec); |
450 | mem_cgroup_uncharge_end(); | ||
451 | cond_resched(); | 449 | cond_resched(); |
452 | index++; | 450 | index++; |
453 | } | 451 | } |
@@ -495,7 +493,6 @@ static void shmem_undo_range(struct inode *inode, loff_t lstart, loff_t lend, | |||
495 | index = start; | 493 | index = start; |
496 | continue; | 494 | continue; |
497 | } | 495 | } |
498 | mem_cgroup_uncharge_start(); | ||
499 | for (i = 0; i < pagevec_count(&pvec); i++) { | 496 | for (i = 0; i < pagevec_count(&pvec); i++) { |
500 | struct page *page = pvec.pages[i]; | 497 | struct page *page = pvec.pages[i]; |
501 | 498 | ||
@@ -531,7 +528,6 @@ static void shmem_undo_range(struct inode *inode, loff_t lstart, loff_t lend, | |||
531 | } | 528 | } |
532 | pagevec_remove_exceptionals(&pvec); | 529 | pagevec_remove_exceptionals(&pvec); |
533 | pagevec_release(&pvec); | 530 | pagevec_release(&pvec); |
534 | mem_cgroup_uncharge_end(); | ||
535 | index++; | 531 | index++; |
536 | } | 532 | } |
537 | 533 | ||
@@ -835,7 +831,7 @@ static int shmem_writepage(struct page *page, struct writeback_control *wbc) | |||
835 | } | 831 | } |
836 | 832 | ||
837 | mutex_unlock(&shmem_swaplist_mutex); | 833 | mutex_unlock(&shmem_swaplist_mutex); |
838 | swapcache_free(swap, NULL); | 834 | swapcache_free(swap); |
839 | redirty: | 835 | redirty: |
840 | set_page_dirty(page); | 836 | set_page_dirty(page); |
841 | if (wbc->for_reclaim) | 837 | if (wbc->for_reclaim) |
@@ -1008,7 +1004,7 @@ static int shmem_replace_page(struct page **pagep, gfp_t gfp, | |||
1008 | */ | 1004 | */ |
1009 | oldpage = newpage; | 1005 | oldpage = newpage; |
1010 | } else { | 1006 | } else { |
1011 | mem_cgroup_replace_page_cache(oldpage, newpage); | 1007 | mem_cgroup_migrate(oldpage, newpage, false); |
1012 | lru_cache_add_anon(newpage); | 1008 | lru_cache_add_anon(newpage); |
1013 | *pagep = newpage; | 1009 | *pagep = newpage; |
1014 | } | 1010 | } |