On Wed, Aug 14, 2013 at 01:26:02PM -0700, Andrew Morton wrote: > On Thu, 15 Aug 2013 00:52:29 +0900 Minchan Kim <[email protected]> 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 <[email protected]> > > > > > > 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 [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

