Re: [PATCH v3] mm: Proactive compaction
flat view
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2020-04-21 03:26:18
Also in:
linux-mm, lkml
On Tue, 10 Mar 2020 15:25:39 -0700 Nitin Gupta [off-list ref] wrote:
For some applications we need to allocate almost all memory as hugepages. However, on a running system, higher order allocations can fail if the memory is fragmented. Linux kernel currently does on-demand compaction as we request more hugepages but this style of compaction incurs very high latency. Experiments with one-time full memory compaction (followed by hugepage allocations) shows that kernel is able to restore a highly fragmented memory state to a fairly compacted memory state within <1 sec for a 32G system. Such data suggests that a more proactive compaction can help us allocate a large fraction of memory as hugepages keeping allocation latencies low.
hn, there was plenty of feedback for earlier versions, but then everyone went quiet. I guess it's time for a refresh and resend, please. With some code comments, please! Is the code really so self-evident that this: +/* Compact all zones within a node according to proactiveness */ is the only thing which needs to be said about it? How is the reader to know what proactive compaction actually *is*? What does extfrag_for_order() do and what does its return value mean? Please document /sys/kernel/mm/compaction/proactiveness in the appropriate place under Documentation/