patch-2.1.126 linux/mm/vmscan.c

Next file: linux/net/netrom/af_netrom.c
Previous file: linux/mm/swap_state.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.125/linux/mm/vmscan.c linux/mm/vmscan.c
@@ -458,8 +458,7 @@
 	if (gfp_mask & __GFP_WAIT)
 		stop = 0;
 
-	if (((buffermem >> PAGE_SHIFT) * 100 > buffer_mem.borrow_percent * num_physpages)
-		   || (page_cache_size * 100 > page_cache.borrow_percent * num_physpages))
+	if (buffer_over_borrow() || pgcache_over_borrow())
 		shrink_mmap(i, gfp_mask);
 
 	switch (state) {
@@ -650,11 +649,10 @@
 	}
  
 	if ((long) (now - want) >= 0) {
-		if (want_wakeup || (num_physpages * buffer_mem.max_percent) < (buffermem >> PAGE_SHIFT) * 100
-				|| (num_physpages * page_cache.max_percent < page_cache_size * 100)) {
+		if (want_wakeup || buffer_over_max() || pgcache_over_max()) {
 			/* Set the next wake-up time */
 			next_swap_jiffies = now + swapout_interval;
-			wake_up(&kswapd_wait);
+			kswapd_wakeup();
 		}
 	}
 	timer_active |= (1<<SWAP_TIMER);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov