On 10/13/2016 10:08 AM, js1304@xxxxxxxxx wrote:
From: Joonsoo Kim <iamjoonsoo.kim@xxxxxxx> Allocation/free pattern is usually sequantial. If they are freed to the buddy list, they can be coalesced. However, we first keep these freed pages at the pcp list and try to reuse them until threshold is reached so we don't have enough chance to get a high order freepage. This reusing would provide us some performance advantages since we don't need to get the zone lock and we don't pay the cost to check buddy merging. But, less fragmentation and more high order freepage would compensate this overhead in other ways. First, we would trigger less direct compaction which has high overhead. And, there are usecases that uses high order page to boost their performance. Instantly resuing freed page seems to provide us computational benefit but the other affects more precious things like as I/O performance and memory consumption so I think that it's a good idea to weight later advantage more.
Again, there's also cache hotness to consider. And whether the sequential pattern is still real on a system with higher uptime. Should be possible to evaluate with tracepoints?
-- 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>