Index: linux-2.6.15-rc2/include/linux/rmap.h =================================================================== --- linux-2.6.15-rc2.orig/include/linux/rmap.h 2005-11-20 03:25:03.000000000 +0000 +++ linux-2.6.15-rc2/include/linux/rmap.h 2005-11-23 02:14:16.000000000 +0000 @@ -72,7 +72,7 @@ void __anon_vma_link(struct vm_area_stru */ void page_add_anon_rmap(struct page *, struct vm_area_struct *, unsigned long); void page_add_file_rmap(struct page *); -void page_remove_rmap(struct page *); +void page_remove_rmap(struct zone *, struct page *); /** * page_dup_rmap - duplicate pte mapping to a page Index: linux-2.6.15-rc2/mm/rmap.c =================================================================== --- linux-2.6.15-rc2.orig/mm/rmap.c 2005-11-23 01:38:17.000000000 +0000 +++ linux-2.6.15-rc2/mm/rmap.c 2005-11-23 02:13:45.000000000 +0000 @@ -485,7 +485,7 @@ void page_add_file_rmap(struct page *pag * * The caller needs to hold the pte lock. */ -void page_remove_rmap(struct page *page) +void page_remove_rmap(struct zone *z, struct page *page) { if (atomic_add_negative(-1, &page->_mapcount)) { BUG_ON(page_mapcount(page) < 0); @@ -501,6 +501,7 @@ void page_remove_rmap(struct page *page) if (page_test_and_clear_dirty(page)) set_page_dirty(page); dec_page_state(nr_mapped); + z->nr_unmapped++; } }