--- shrink_mmap/mm/filemap.c.~1~ Fri Feb 25 16:12:32 2000 +++ shrink_mmap/mm/filemap.c Fri Feb 25 18:41:27 2000 @@ -173,16 +173,16 @@ clock = page - mem_map; } + /* We can't free pages unless there's just one user */ + if (atomic_read(&page->count) != 1) + continue; + referenced = test_and_clear_bit(PG_referenced, &page->flags); if (PageLocked(page)) continue; if ((gfp_mask & __GFP_DMA) && !PageDMA(page)) - continue; - - /* We can't free pages unless there's just one user */ - if (atomic_read(&page->count) != 1) continue; if (!(gfp_mask & __GFP_BIGMEM) && PageBIGMEM(page))