--- 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;
 
 		/*