Our goal is to keep memory usage of a VM low on the host. For that reason, we use free page reporting which by default reports free pages of order 9 and larger to the host to be freed. The feature works well only if the memory in the guest is not fragmented below pages of order 9. Proactive compaction can be reused to achieve defragmentation after some parameter tweaking. When the fragmentation score (lower is better) gets larger than the high watermark, proactive compaction kicks in. Compaction stops when the score goes below the low watermark (or no progress is made and backoff kicks in). Let's define the difference between high and low watermarks as leeway. Before these changes, the minimum possible value for low watermark was 5 and the leeway was hardcoded to 10 (so minimum possible value for high watermark was 15). v2: Change commit msgs and document the new sysctl. Michal Clapinski (2): mm/compaction: remove low watermark cap for proactive compaction mm/compaction: make proactive compaction high watermark configurable via sysctl Documentation/admin-guide/sysctl/vm.rst | 17 +++++++++++++++++ mm/compaction.c | 14 ++++++++++++-- 2 files changed, 29 insertions(+), 2 deletions(-) -- 2.48.1.262.g85cc9f2d1e-goog