On Tue, Aug 31, 2010 at 10:36:49PM +0800, Wu Fengguang wrote: > On Tue, Aug 31, 2010 at 10:19:42PM +0800, Wu Fengguang wrote: > > On Mon, Aug 23, 2010 at 05:22:46PM +0800, Michal Hocko wrote: > > > On Sun 22-08-10 08:42:32, Wu Fengguang wrote: > > > > Hi Michal, > > > > > > Hi, > > > > > > > > > > > It helps to explain in changelog/code > > > > > > > > - in what situation a ZONE_MOVABLE will contain !MIGRATE_MOVABLE > > > > pages? > > > > > > page can be MIGRATE_RESERVE IIUC. > > > > Yup, it may also be set to MIGRATE_ISOLATE by soft_offline_page(). > > Ah a non-movable page allocation could fall back into the movable > zone. See __rmqueue_fallback() and the fallbacks[][] array. So the > > if (type != MIGRATE_MOVABLE && !pageblock_free(page)) > > check in is_mem_section_removable() is correct. It is > set_migratetype_isolate() that should be fixed to use the same check. Mel, I'm not familiar with the code, but it seems that in __rmqueue_fallback(), set_pageblock_migratetype() is not always called after move_freepages_block() successfully moved some pages. Then it's possible a MIGRATE_MOVABLE page block will end up containing non-movable pages? Thanks, Fengguang -- 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/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>