--- z/mm/page_alloc.c.~1~ Fri Jun 23 15:24:58 2000 +++ z/mm/page_alloc.c Mon Jun 26 01:33:44 2000 @@ -182,7 +182,6 @@ unsigned long __get_free_pages(int gfp_mask, unsigned long order) { unsigned long flags; - static atomic_t free_before_allocate = ATOMIC_INIT(0); if (order >= NR_MEM_LISTS) goto nopage; @@ -207,13 +206,6 @@ int freed; extern struct wait_queue * kswapd_wait; - /* Somebody needs to free pages so we free some of our own. */ - if (atomic_read(&free_before_allocate)) { - current->flags |= PF_MEMALLOC; - try_to_free_pages(gfp_mask); - current->flags &= ~PF_MEMALLOC; - } - if (nr_free_pages > freepages.low) goto ok_to_allocate; @@ -225,9 +217,7 @@ goto ok_to_allocate; current->flags |= PF_MEMALLOC; - atomic_inc(&free_before_allocate); freed = try_to_free_pages(gfp_mask); - atomic_dec(&free_before_allocate); current->flags &= ~PF_MEMALLOC; /*