On Mon, Feb 02, 2015 at 09:51:01PM +0800, Zhang Yanfei wrote: > Hello, > > At 2015/2/2 18:20, Vlastimil Babka wrote: > > On 02/02/2015 08:15 AM, Joonsoo Kim wrote: > >> Compaction has anti fragmentation algorithm. It is that freepage > >> should be more than pageblock order to finish the compaction if we don't > >> find any freepage in requested migratetype buddy list. This is for > >> mitigating fragmentation, but, there is a lack of migratetype > >> consideration and it is too excessive compared to page allocator's anti > >> fragmentation algorithm. > >> > >> Not considering migratetype would cause premature finish of compaction. > >> For example, if allocation request is for unmovable migratetype, > >> freepage with CMA migratetype doesn't help that allocation and > >> compaction should not be stopped. But, current logic regards this > >> situation as compaction is no longer needed, so finish the compaction. > > > > This is only for order >= pageblock_order, right? Perhaps should be told explicitly. > > I might be wrong. If we applied patch1, so after the system runs for some time, > there must be no MIGRATE_CMA free pages in the system, right? If so, the > example above doesn't exist anymore. Hello, Compaction could migrate all pages on MIGRATE_CMA pageblock, and, in this case, order >= pageblock_order could be true. And, cma freepages are used only for fallback so even if applying patch1, it could be possible. Thanks. -- 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>