--- linux/mm/swap.c Mon Apr 8 17:15:43 2002 +++ linux-numaq/mm/swap.c Mon Apr 8 17:25:49 2002 @@ -140,33 +140,7 @@ void FASTCALL(drop_page(struct page *)); void drop_page(struct page * page) { - if (!TryLockPage(page)) { - if (page->mapping && page->buffers) { - page_cache_get(page); - unlock_lru(ALL_ZONES); - try_to_release_page(page, GFP_NOIO); - lock_lru(ALL_ZONES); - page_cache_release(page); - } - UnlockPage(page); - } - - /* Make sure the page really is reclaimable. */ - if (!page->mapping || PageDirty(page) || page->pte_chain || - page->buffers || page_count(page) > 1) - deactivate_page_nolock(page); - - else if (page_count(page) == 1) { - ClearPageReferenced(page); - page->age = 0; - if (PageActive(page)) { - del_page_from_active_list(page); - add_page_to_inactive_clean_list(page); - } else if (PageInactiveDirty(page)) { - del_page_from_inactive_dirty_list(page); - add_page_to_inactive_clean_list(page); - } - } + drop_page_zone(ALL_ZONES, page); } /*