* PATCH: Change in __alloc_pages
@ 2000-06-20 1:43 Juan J. Quintela
0 siblings, 0 replies; only message in thread
From: Juan J. Quintela @ 2000-06-20 1:43 UTC (permalink / raw)
To: Alan Cox, lkml, linux-mm
Hi
with this change in top of my previous patch (shrink_mmap take2)
I get the same performance on IO that the removing the page->zone test
from shrink_mmap. Could people seing improvements in ac21 (or later)
test this patch.
Comments and positive/negative reports are welcome.
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 Mon Jun 19 23:35:41 2000
+++ working/mm/page_alloc.c Tue Jun 20 03:03:51 2000
@@ -233,6 +233,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-06-20 1:43 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-06-20 1:43 PATCH: Change in __alloc_pages 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