Re: [PATCH 7/9] try harder on large allocations
From: Coywolf Qi Hunt <hidden>
Date: 2005-09-27 07:21:06
Also in:
lkml
On 9/27/05, Joel Schopp [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Fragmentation avoidance patches increase our chances of satisfying high order allocations. So this patch takes more than one iteration at trying to fulfill those allocations because unlike before the extra iterations are often useful. Signed-off-by: Mel Gorman <redacted> Signed-off-by: Joel Schopp <redacted> Index: 2.6.13-joel2/mm/page_alloc.c ===================================================================--- 2.6.13-joel2.orig/mm/page_alloc.c 2005-09-21 11:13:14.%N -0500 +++ 2.6.13-joel2/mm/page_alloc.c 2005-09-21 11:14:49.%N -0500@@ -944,7 +944,8 @@ __alloc_pages(unsigned int __nocast gfp_ int can_try_harder; int did_some_progress; int alloctype; - + int highorder_retry = 3; + alloctype = (gfp_mask & __GFP_RCLM_BITS); might_sleep_if(wait);@@ -1090,7 +1091,14 @@ rebalance: goto got_pg; } - out_of_memory(gfp_mask, order); + if (order < MAX_ORDER/2) out_of_memory(gfp_mask, order);
Shouldn't that be written in two lines?
+ /*
+ * Due to low fragmentation efforts, we should try a little
+ * harder to satisfy high order allocations
+ */
+ if (order >= MAX_ORDER/2 && --highorder_retry > 0)
+ goto rebalance;
+
goto restart;
}-- Coywolf Qi Hunt http://sosdg.org/~coywolf/ -- 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-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>