Re: [PATCH] mm: skip the page buddy block instead of one page

From: Mel Gorman
Date: Wed Aug 14 2013 - 18:22:50 EST


On Wed, Aug 14, 2013 at 01:26:02PM -0700, Andrew Morton wrote:
> On Thu, 15 Aug 2013 00:52:29 +0900 Minchan Kim <minchan@xxxxxxxxxx> wrote:
>
> > On Wed, Aug 14, 2013 at 09:57:11AM +0100, Mel Gorman wrote:
> > > On Wed, Aug 14, 2013 at 12:45:41PM +0800, Xishi Qiu wrote:
> > > > A large free page buddy block will continue many times, so if the page
> > > > is free, skip the whole page buddy block instead of one page.
> > > >
> > > > Signed-off-by: Xishi Qiu <qiuxishi@xxxxxxxxxx>
> > >
> > > page_order cannot be used unless zone->lock is held which is not held in
> > > this path. Acquiring the lock would prevent parallel allocations from the
> >
> > Argh, I missed that.
>
> I missed it as well. And so did Xishi Qiu.
>
> Mel, we have a problem. What can we do to make this code more
> maintainable?

I sit in the bad man corner until I write a comment patch :/

page_order already has a comment but obviously the call site on compaction.c
could do with a hint. As I think the consequences of this race can be
dealt with I'm hoping Xishi Qiu will take the example I posted, fix it
if it needs fixing, turn it into a real patch and run it through whatever
test case led him to find this problem in the first place (HINT HINT). If
that happens, great! If not, I might do it myself and failing that, I'll
post a patch adding a comment explaining why page_order is not used there.

--
Mel Gorman
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/