patch-2.3.20 linux/mm/vmscan.c
Next file: linux/net/802/fc.c
Previous file: linux/mm/filemap.c
Back to the patch index
Back to the overall index
-  Lines: 24
 -  Date:
Thu Oct  7 12:47:37 1999
 -  Orig file: 
v2.3.19/linux/mm/vmscan.c
 -  Orig date: 
Tue Aug 31 17:29:15 1999
 
diff -u --recursive --new-file v2.3.19/linux/mm/vmscan.c linux/mm/vmscan.c
@@ -424,6 +424,14 @@
 				goto done;
 		}
 
+		/* don't be too light against the d/i cache since
+		   shrink_mmap() almost never fail when there's
+		   really plenty of memory free. */
+		count -= shrink_dcache_memory(priority, gfp_mask);
+		count -= shrink_icache_memory(priority, gfp_mask);
+		if (count <= 0)
+			goto done;
+
 		/* Try to get rid of some shared memory pages.. */
 		if (gfp_mask & __GFP_IO) {
 			while (shm_swap(priority, gfp_mask)) {
@@ -437,8 +445,6 @@
 			if (!--count)
 				goto done;
 		}
-
-		shrink_dcache_memory(priority, gfp_mask);
 	} while (--priority >= 0);
 done:
 
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)