--- 2.2.17pre4aa1/mm/page_alloc.c.~1~ Mon Jun 19 22:28:59 2000 +++ 2.2.17pre4aa1/mm/page_alloc.c Tue Jun 20 17:48:46 2000 @@ -207,7 +207,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; @@ -232,13 +231,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; - } - #ifndef CONFIG_BIGMEM if (nr_free_pages > freepages.low) goto ok_to_allocate; @@ -280,9 +272,7 @@ #endif 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; /*