[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC] 2.3.39 zone balancing



On Thu, 13 Jan 2000, Rik van Riel wrote:

>Now we'll only want to build something into kswapd
>so that rebalancing the high memory zones is done in
>the background.

You never need to rebance the bigmem between 1g and 64g withing kswapd.
This because bh/irq handlers are not going to use it. So kswapd has to
care only about the memory below the bigmem boundary.

BTW I just noticed currently (2.3.40pre1) kswapd is completly
screwedup. kswapd should still do:

		while (nr_free_pages - nr_free_bigpages < freepages.high)

exactly like in our early 2.3.18 bigmem code because _nothing_ is changed
is the basic MM design since that time.

The fix against 2.3.40pre1 to re-activate kswapd is this:

--- 2.3.40pre1/mm/vmscan.c	Sun Jan  9 20:45:31 2000
+++ /tmp/vmscan.c	Thu Jan 13 21:09:33 2000
@@ -503,7 +503,7 @@
 		do {
 			/* kswapd is critical to provide GFP_ATOMIC
 			   allocations (not GFP_HIGHMEM ones). */
-			if (nr_free_buffer_pages() >= freepages.high)
+			if (nr_free_pages() - nr_free_highpages() >= freepages.high)
 				break;
 			if (!do_try_to_free_pages(GFP_KSWAPD, 0))
 				break;


Andrea

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.nl.linux.org/Linux-MM/