On Fri, May 06, 2011 at 02:09:55PM +0100, Mel Gorman wrote: > On Fri, May 06, 2011 at 07:32:46PM +0800, Figo.zhang wrote: > > > > in isolate_migratepages() have check page in LRU twice, the next one > > at _isolate_lru_page(). > > > > Signed-off-by: Figo.zhang <figo1802@xxxxxxxxx> > > Not checking for PageLRU means that PageTransHuge() gets called > for each page. While the scanner is active and the lock released, > a transparent hugepage can be created and potentially we test > PageTransHuge() on a tail page. This will trigger a BUG if > CONFIG_DEBUG_VM is set. Agreed. The compound_order also would become unsafe even if it was initially an head page (if it's a compound page not in lru). And compound_trans_order isn't a solution either because we need to be head for it to be safe like you said, better not having to use compound_trans_order. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx 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@xxxxxxxxx"> email@xxxxxxxxx </a>