On Thu, 2009-12-03 at 19:29 -0500, Rik van Riel wrote: > On 12/03/2009 05:14 PM, Larry Woodman wrote: > > > The attached patch addresses this issue by changing page_check_address() > > to return -1 if the spin_trylock() fails and page_referenced_one() to > > return 1 in that path so the page gets moved back to the active list. > > Your patch forgot to add the code to vmscan.c to actually move > the page back to the active list. Right > > Also, please use an enum for the page_referenced return > values, so the code in vmscan.c can use symbolic names. > > enum page_reference { > NOT_REFERENCED, > REFERENCED, > LOCK_CONTENDED, > }; > Here it is: