On 10/17/18 3:58 PM, Mel Gorman wrote: > Again, as compaction is not guaranteed to find the pageblocks, it would > be important to consider whether a) that matters or b) find an > alternative way of keeping unmerged buddies on separate lists so they > can be quickly discovered when a high-order allocation fails. Agree, unmerged buddies could be on separate freelist from regular order-0 freelist. That list could be also preferred to allocations before the regular one. Then one could e.g. try "direct merging" via this list when compaction fails, or prefer direct merging to compaction for non-costly-order allocations, do direct merging when allocation context doesn't even allow compaction (atomic etc). Also I would definitely consider always merging pages freed to non-MOVABLE pageblocks. We really don't want to increase the fragmentation in those. However that means it probably won't help the netperf case? Vlastimil