On Tue, 15 Jan 2013 09:16:46 +0900 Minchan Kim <minc...@kernel.org> wrote:
> Now mm several functions test MIGRATE_ISOLATE and some of those > are hotpath but MIGRATE_ISOLATE is used only if we enable > CONFIG_MEMORY_ISOLATION(ie, CMA, memory-hotplug and memory-failure) > which are not common config option. So let's not add unnecessary > overhead and code when we don't enable CONFIG_MEMORY_ISOLATION. ugh. Better than nothing, I guess. There remain call sites which do open-coded get_pageblock_migratetype(page) != MIGRATE_ISOLATE (undo_isolate_page_range() is one). Wanna clean these up as well? > > ... > > @@ -683,7 +683,7 @@ static void free_one_page(struct zone *zone, struct page > *page, int order, > zone->pages_scanned = 0; > > __free_one_page(page, zone, order, migratetype); > - if (unlikely(migratetype != MIGRATE_ISOLATE)) > + if (unlikely(!is_migrate_isolate(migratetype))) > __mod_zone_freepage_state(zone, 1 << order, migratetype); > spin_unlock(&zone->lock); > } The code both before and after this patch is assuming that the migratetype in free_one_page is likely to be MIGRATE_ISOLATE. Seems wrong. If CONFIG_MEMORY_ISOLATION=n this ends up doing if(unlikely(true)) which is harmless-but-amusing. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/