On Fri, Aug 02, 2013 at 06:06:33PM +0200, Andrea Arcangeli wrote: > Prevent the scaling down to reduce the watermarks too much. > > Signed-off-by: Andrea Arcangeli <aarcange@xxxxxxxxxx> > --- > mm/page_alloc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/mm/page_alloc.c b/mm/page_alloc.c > index 4401983..b32ecde 100644 > --- a/mm/page_alloc.c > +++ b/mm/page_alloc.c > @@ -1665,7 +1665,8 @@ static bool __zone_watermark_ok(struct zone *z, int order, unsigned long mark, > free_pages -= z->free_area[o].nr_free << o; > > /* Require fewer higher order pages to be free */ > - min >>= 1; > + if (o < (pageblock_order >> 2)) > + min >>= 1; > Why pageblock_order? That thing depends on the huge page size of the system in question so it'll vary between platforms and kernel configs. It seems arbitrary but I suspect it happened to work well for THP allocations on x86_64. -- Mel Gorman SUSE Labs -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>