diff options
author | Wu Fengguang <wfg@mail.ustc.edu.cn> | 2006-03-22 03:08:23 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-22 10:54:00 -0500 |
commit | c9b02d970c385a253edb36c87643b0df706b50b4 (patch) | |
tree | 0e1990c1ced842a923221b36ee1546bf9aac8509 /mm | |
parent | 7fb2d46d396b2491818f8e43b01049b3234e6c07 (diff) |
[PATCH] mm: isolate_lru_pages() scan count fix
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>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/vmscan.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/mm/vmscan.c b/mm/vmscan.c index c712b946e4ff..85e95f445022 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c | |||
@@ -1074,9 +1074,9 @@ static unsigned long isolate_lru_pages(unsigned long nr_to_scan, | |||
1074 | { | 1074 | { |
1075 | unsigned long nr_taken = 0; | 1075 | unsigned long nr_taken = 0; |
1076 | struct page *page; | 1076 | struct page *page; |
1077 | unsigned long scan = 0; | 1077 | unsigned long scan; |
1078 | 1078 | ||
1079 | while (scan++ < nr_to_scan && !list_empty(src)) { | 1079 | for (scan = 0; scan < nr_to_scan && !list_empty(src); scan++) { |
1080 | struct list_head *target; | 1080 | struct list_head *target; |
1081 | page = lru_to_page(src); | 1081 | page = lru_to_page(src); |
1082 | prefetchw_prev_lru_page(page, src, flags); | 1082 | prefetchw_prev_lru_page(page, src, flags); |