linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* PATCH: alloc_pages solving problems for machines with a lot of memory
@ 2000-07-11 16:10 Juan J. Quintela
  0 siblings, 0 replies; only message in thread
From: Juan J. Quintela @ 2000-07-11 16:10 UTC (permalink / raw)
  To: linux-mm, lkml, Linus Torvalds

Hi
        Users of 1GB RAM machines are having problems with the
        machines swapping too soon.  That happens due to the fact that
        they got out of pages in the HIGH_MEM zone (only around 100MB
        on that machines)  and they begin to swap searching for pages
        free in the NORMAL zone.  That problem also appears with the
        DMA zone.  This is the same patch that I send to
        2.4.0-test1-ac22-*

Later, Juan.

This patch does:
- We allocate for a zone with more than pages_high free pages if
  possible.

diff -urN --exclude-from=/home/lfcia/quintela/work/kernel/exclude base/mm/page_alloc.c working/mm/page_alloc.c
--- base/mm/page_alloc.c	Tue Jul 11 12:00:55 2000
+++ working/mm/page_alloc.c	Tue Jul 11 17:39:07 2000
@@ -227,6 +227,23 @@
 	 * We are falling back to lower-level zones if allocation
 	 * in a higher zone fails.
 	 */
+
+	for (;;) {
+		zone_t *z = *(zone++);
+		if (!z)
+			break;
+		if (!z->size)
+			BUG();
+
+		/* If there are zones with a lot of free memory allocate from them */
+		if (z->free_pages > z->pages_high) {
+			struct page *page = rmqueue(z, order);
+			if (page)
+				return page;
+		}
+	}
+
+	zone = zonelist->zones;
 	for (;;) {
 		zone_t *z = *(zone++);
 		if (!z)



-- 
In theory, practice and theory are the same, but in practice they 
are different -- Larry McVoy
--
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.linux.eu.org/Linux-MM/

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2000-07-11 16:10 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-07-11 16:10 PATCH: alloc_pages solving problems for machines with a lot of memory Juan J. Quintela

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox