On Tue, Mar 07, 2017 at 02:15:44PM +0100, Vlastimil Babka wrote: > The migrate scanner in async compaction is currently limited to MIGRATE_MOVABLE > pageblocks. This is a heuristic intended to reduce latency, based on the > assumption that non-MOVABLE pageblocks are unlikely to contain movable pages. > > However, with the exception of THP's, most high-order allocations are not > movable. Should the async compaction succeed, this increases the chance that > the non-MOVABLE allocations will fallback to a MOVABLE pageblock, making the > long-term fragmentation worse. I agree with this idea but have some concerns on this change. *ASYNC* compaction is designed for reducing latency and this change doesn't fit it. If everything works fine, there is a few movable pages in non-MOVABLE pageblocks as you noted above. Moreover, there is quite less the number of non-MOVABLE pageblock than MOVABLE one so finding non-MOVABLE pageblock takes long time. These two factors will increase the latency of *ASYNC* compaction. And, there is a concern in implementaion side. With this change, there is much possibilty that compaction scanner's met by ASYNC compaction. It resets the scanner position and SYNC compaction would start the scan at the beginning of the zone every time. It would make cached position useless and inefficient. 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>