aboutsummaryrefslogtreecommitdiffstats
path: root/mm/vmscan.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-01-17 17:42:19 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-17 17:42:19 -0500
commit7a608572a282a74978e10fd6cd63090aebe29f5c (patch)
tree03e52f73d7c35ffcea8f46e14ec569da818a7631 /mm/vmscan.c
parent9e8a462a0141b12e22c4a2f0c12e0542770401f0 (diff)
Revert "mm: batch activate_page() to reduce lock contention"
This reverts commit 744ed1442757767ffede5008bb13e0805085902e. Chris Mason ended up chasing down some page allocation errors and pages stuck waiting on the IO scheduler, and was able to narrow it down to two commits: commit 744ed1442757 ("mm: batch activate_page() to reduce lock contention") and d8505dee1a87 ("mm: simplify code of swap.c"). This reverts the first of them. Reported-and-debugged-by: Chris Mason <chris.mason@oracle.com> Cc: Mel Gorman <mel@csn.ul.ie> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Jens Axboe <jaxboe@fusionio.com> Cc: linux-mm <linux-mm@kvack.org> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: Shaohua Li <shaohua.li@intel.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/vmscan.c')
-rw-r--r--mm/vmscan.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c
index 99999a9b2b0b..47a50962ce81 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -1271,16 +1271,14 @@ putback_lru_pages(struct zone *zone, struct scan_control *sc,
1271 spin_lock_irq(&zone->lru_lock); 1271 spin_lock_irq(&zone->lru_lock);
1272 continue; 1272 continue;
1273 } 1273 }
1274 SetPageLRU(page);
1274 lru = page_lru(page); 1275 lru = page_lru(page);
1276 add_page_to_lru_list(zone, page, lru);
1275 if (is_active_lru(lru)) { 1277 if (is_active_lru(lru)) {
1276 int file = is_file_lru(lru); 1278 int file = is_file_lru(lru);
1277 int numpages = hpage_nr_pages(page); 1279 int numpages = hpage_nr_pages(page);
1278 reclaim_stat->recent_rotated[file] += numpages; 1280 reclaim_stat->recent_rotated[file] += numpages;
1279 if (putback_active_lru_page(zone, page))
1280 continue;
1281 } 1281 }
1282 SetPageLRU(page);
1283 add_page_to_lru_list(zone, page, lru);
1284 if (!pagevec_add(&pvec, page)) { 1282 if (!pagevec_add(&pvec, page)) {
1285 spin_unlock_irq(&zone->lru_lock); 1283 spin_unlock_irq(&zone->lru_lock);
1286 __pagevec_release(&pvec); 1284 __pagevec_release(&pvec);