From f1039c931438cc4befc7393faa5b3367ddab9c4f Mon Sep 17 00:00:00 2001 From: Andrea Arcangeli Date: Thu, 12 Jan 2012 17:19:29 -0800 Subject: [PATCH] --- yaml --- r: 284399 b: refs/heads/master c: 5013473152d1ac9d44d787fb02edda845fdf2cb3 h: refs/heads/master i: 284397: 8589c8c50467972d2913e4a674529068c0083767 284395: 3e4b9e1519499c77e3d7d9a6c0130b29d1dc9604 284391: 606cade3ad4bec11140c2242fc7d448ad7353bdc 284383: 1b86b577e5f291f646a08364f31982157c78f668 v: v3 --- [refs] | 2 +- trunk/mm/vmscan.c | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 2a57cbb8070d..cc6c4b058efe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b16d3d5a5219d01e9be5e586e5d50fbf1ca955ea +refs/heads/master: 5013473152d1ac9d44d787fb02edda845fdf2cb3 diff --git a/trunk/mm/vmscan.c b/trunk/mm/vmscan.c index a85a261bf8f9..866ab27c52a5 100644 --- a/trunk/mm/vmscan.c +++ b/trunk/mm/vmscan.c @@ -1196,13 +1196,17 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan, break; if (__isolate_lru_page(cursor_page, mode, file) == 0) { + unsigned int isolated_pages; + mem_cgroup_lru_del(cursor_page); list_move(&cursor_page->lru, dst); - nr_taken += hpage_nr_pages(cursor_page); - nr_lumpy_taken++; + isolated_pages = hpage_nr_pages(cursor_page); + nr_taken += isolated_pages; + nr_lumpy_taken += isolated_pages; if (PageDirty(cursor_page)) - nr_lumpy_dirty++; + nr_lumpy_dirty += isolated_pages; scan++; + pfn += isolated_pages - 1; } else { /* * Check if the page is freed already.