diff options
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r-- | mm/vmscan.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index 4139aa52b941..e8fa2d9eb212 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -837,7 +837,6 @@ int __isolate_lru_page(struct page *page, int mode, int file) | |||
837 | */ | 837 | */ |
838 | ClearPageLRU(page); | 838 | ClearPageLRU(page); |
839 | ret = 0; | 839 | ret = 0; |
840 | mem_cgroup_del_lru(page); | ||
841 | } | 840 | } |
842 | 841 | ||
843 | return ret; | 842 | return ret; |
@@ -885,12 +884,14 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan, | |||
885 | switch (__isolate_lru_page(page, mode, file)) { | 884 | switch (__isolate_lru_page(page, mode, file)) { |
886 | case 0: | 885 | case 0: |
887 | list_move(&page->lru, dst); | 886 | list_move(&page->lru, dst); |
887 | mem_cgroup_del_lru(page); | ||
888 | nr_taken++; | 888 | nr_taken++; |
889 | break; | 889 | break; |
890 | 890 | ||
891 | case -EBUSY: | 891 | case -EBUSY: |
892 | /* else it is being freed elsewhere */ | 892 | /* else it is being freed elsewhere */ |
893 | list_move(&page->lru, src); | 893 | list_move(&page->lru, src); |
894 | mem_cgroup_rotate_lru_list(page, page_lru(page)); | ||
894 | continue; | 895 | continue; |
895 | 896 | ||
896 | default: | 897 | default: |
@@ -931,6 +932,7 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan, | |||
931 | continue; | 932 | continue; |
932 | if (__isolate_lru_page(cursor_page, mode, file) == 0) { | 933 | if (__isolate_lru_page(cursor_page, mode, file) == 0) { |
933 | list_move(&cursor_page->lru, dst); | 934 | list_move(&cursor_page->lru, dst); |
935 | mem_cgroup_del_lru(page); | ||
934 | nr_taken++; | 936 | nr_taken++; |
935 | scan++; | 937 | scan++; |
936 | } | 938 | } |