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, 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>