On Mon, Jul 14 2014, Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> wrote: > On Tue, Jul 08, 2014 at 06:46:31PM +0200, Michal Nazarewicz wrote: >> This seems reasonable, except I think [invalidate_bh_lrus()] should >> go after start_isolate_page_range call because otherwise there's no >> guarantee that someone won't grab those pages back. >> >> Also to avoid the #ifdef perhaps we want this as well: > > I think that we just want to remove ifdef CONFIG_CMA on above code > snippet, because invalidate_bh_lrus() would also help user of > alloc_contig_range() with MIGRATE_MOVABLE. Sounds good to me. >> The purpose is to get free non-buddy pages (so pages on PCP lists for >> instance) back onto the buddy list. It's safe to move those calls above >> the call to __alloc_contig_migrate_range, but I don't think it will >> change anything (except of course the fact that if migration fails, >> we'll do the draining for nothing). > At a glance, we don't need that drain_all_pages(), because > drain_all_pages() is also called by set_migratetype_isolate() after > changing migratetype. You are likely correct. > And, it is better to move up lru_add_drain_all() to ahead of > __alloc_contig_migrate_range(), because some pages could be skipped > to migrate due to this lru page caching mechanism. Again, sounds good to me. -- Best regards, _ _ .o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o ..o | Computer Science, Michał “mina86” Nazarewicz (o o) ooo +--<mpn@xxxxxxxxxx>--<xmpp:mina86@xxxxxxxxxx>--ooO--(_)--Ooo-- -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html