diff options
Diffstat (limited to 'mm/vmscan.c')
| -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 75be453628b..1ff1a58e7c1 100644 --- a/mm/vmscan.c +++ b/mm/vmscan.c @@ -496,7 +496,7 @@ static unsigned long shrink_page_list(struct list_head *page_list,  		page = lru_to_page(page_list);  		list_del(&page->lru); -		if (TestSetPageLocked(page)) +		if (!trylock_page(page))  			goto keep;  		VM_BUG_ON(PageActive(page)); @@ -582,7 +582,7 @@ static unsigned long shrink_page_list(struct list_head *page_list,  				 * A synchronous write - probably a ramdisk.  Go  				 * ahead and try to reclaim the page.  				 */ -				if (TestSetPageLocked(page)) +				if (!trylock_page(page))  					goto keep;  				if (PageDirty(page) || PageWriteback(page))  					goto keep_locked;  |