[PATCH 05/10] vmscan: Synchrounous lumpy reclaim use lock_page() instead trylock_page()

From: Mel Gorman
Date: Mon Sep 06 2010 - 06:49:10 EST


From: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>

With synchrounous lumpy reclaim, there is no reason to give up to reclaim
pages even if page is locked. This patch uses lock_page() instead of
trylock_page() in this case.

Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@xxxxxxxxxxxxxx>
Signed-off-by: Mel Gorman <mel@xxxxxxxxx>
---
mm/vmscan.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index 5979850..79bd812 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -665,7 +665,9 @@ static unsigned long shrink_page_list(struct list_head *page_list,
page = lru_to_page(page_list);
list_del(&page->lru);

- if (!trylock_page(page))
+ if (sync_writeback == PAGEOUT_IO_SYNC)
+ lock_page(page);
+ else if (!trylock_page(page))
goto keep;

VM_BUG_ON(PageActive(page));
--
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/