[PATCH] mm: isolate_lru_pages() scan count fix
authorWu Fengguang <wfg@mail.ustc.edu.cn>
Wed, 22 Mar 2006 08:08:23 +0000 (00:08 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Wed, 22 Mar 2006 15:54:00 +0000 (07:54 -0800)
In isolate_lru_pages(), *scanned reports one more scan because the scan
counter is increased one more time on exit of the while-loop.

Change the while-loop to for-loop to fix it.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Signed-off-by: Wu Fengguang <wfg@mail.ustc.edu.cn>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
mm/vmscan.c

index c712b94..85e95f4 100644 (file)
@@ -1074,9 +1074,9 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan,
 {
        unsigned long nr_taken = 0;
        struct page *page;
-       unsigned long scan = 0;
+       unsigned long scan;
 
-       while (scan++ < nr_to_scan && !list_empty(src)) {
+       for (scan = 0; scan < nr_to_scan && !list_empty(src); scan++) {
                struct list_head *target;
                page = lru_to_page(src);
                prefetchw_prev_lru_page(page, src, flags);