--- linux/mm/vmscan.c Mon Apr 8 17:26:38 2002 +++ linux-numaq/mm/vmscan.c Mon Apr 8 17:40:05 2002 @@ -519,9 +519,10 @@ list_add(page_lru, &zone->active_list); } else { deactivate_page_nolock(page); - if (++nr_deactivated > target) + if (++nr_deactivated > target) { pte_chain_unlock(page); - break; + goto done; + } } pte_chain_unlock(page); @@ -532,6 +533,8 @@ lock_lru(zone); } } + +done: unlock_lru(zone); return nr_deactivated;