linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
To: David Rientjes <rientjes@google.com>
Cc: linux-mm@kvack.org, mgorman@suse.de,
	Kyungmin Park <kyungmin.park@samsung.com>
Subject: Re: [PATCH 2/2] mm: compaction: allow isolation of lower order buddy pages
Date: Fri, 06 Apr 2012 10:38:00 +0200	[thread overview]
Message-ID: <201204061038.00068.b.zolnierkie@samsung.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1204051444080.17852@chino.kir.corp.google.com>

On Thursday 05 April 2012 23:46:17 David Rientjes wrote:
> On Thu, 5 Apr 2012, Bartlomiej Zolnierkiewicz wrote:
> 
> > diff --git a/mm/compaction.c b/mm/compaction.c
> > index bc77135..642c17a 100644
> > --- a/mm/compaction.c
> > +++ b/mm/compaction.c
> > @@ -115,8 +115,8 @@ static bool suitable_migration_target(struct page *page)
> >  	if (migratetype == MIGRATE_ISOLATE || migratetype == MIGRATE_RESERVE)
> >  		return false;
> >  
> > -	/* If the page is a large free page, then allow migration */
> > -	if (PageBuddy(page) && page_order(page) >= pageblock_order)
> > +	/* If the page is a free page, then allow migration */
> > +	if (PageBuddy(page))
> >  		return true;
> >  
> >  	/* If the block is MIGRATE_MOVABLE, allow migration */
> 
> So when we try to allocate a 2M hugepage through the buddy allocator where 
> the pageblock is also 2M, wouldn't this result in a lot of unnecessary 
> migration of memory that may not end up defragmented enough for the 
> allocation to succeed?  Sounds like a regression for hugepage allocation.

I haven't tested it with hugepage allocation yet (no hugepage support
on ARM) but the code isolating pages for migration remains unchanged
so after migration memory we are trying to allocate pages from should
end up at least as defragmented as before the patch.  Some migrations
may turn out to be unnecessary but it doesn't seem as it introduces
additional problems with hugepage allocation.

Best regards,
--
Bartlomiej Zolnierkiewicz
Samsung Poland R&D Center

--
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/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2012-04-06  8:40 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-05 16:32 [PATCH 0/2] mm: compaction: improve free pages selection Bartlomiej Zolnierkiewicz
2012-04-05 16:32 ` [PATCH 1/2] mm: compaction: try harder to isolate free pages Bartlomiej Zolnierkiewicz
2012-04-06  6:40   ` Minchan Kim
2012-04-06  8:21     ` Bartlomiej Zolnierkiewicz
2012-04-06  8:51       ` Minchan Kim
2012-04-10 10:38   ` Mel Gorman
2012-04-12  5:42     ` Mel Gorman
2012-04-05 16:32 ` [PATCH 2/2] mm: compaction: allow isolation of lower order buddy pages Bartlomiej Zolnierkiewicz
2012-04-05 21:46   ` David Rientjes
2012-04-06  8:38     ` Bartlomiej Zolnierkiewicz [this message]
2012-04-06  6:45   ` Minchan Kim
2012-04-10 10:40   ` Mel Gorman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201204061038.00068.b.zolnierkie@samsung.com \
    --to=b.zolnierkie@samsung.com \
    --cc=kyungmin.park@samsung.com \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=rientjes@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox