![]() | ||||||||||
Messages in this thread |
On 9/27/05, Joel Schopp <jschopp@austin.ibm.com> wrote: > 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 <mel@csn.ul.ie> > Signed-off-by: Joel Schopp <jschopp@austin.ibm.com> > > > 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 from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | |||||||||
| Last update: 2005-09-27 07:23 [from the cache] ©2003-2008 | ||||||||||