NVIDIA Engineer Revives Work On Linux Proactive Memory Compaction
The proactive memory compaction was brought on to address latency issues currently experienced with the kernel's on-demand memory compaction behavior that can happen as a result of requesting a lot of hugepages.
Benchmarks shown by Gupta in the past have for instance shown a Java test setup with transparent huge-pages and requesting tons of huge-pages that the time dropped from 27 minutes to just over 3 minutes. Other benchmark numbers have also been promising out of the proactive memory compaction.
The proactive compaction behavior remains configurable via a new compaction_proactiveness flag for determining how aggressive the compaction should happen in the background. With the v5 patch, the configuration tunable is now exposed via sysctl and besides that are other minor code changes.
More details via the v5 patch message. Hopefully this proactive memory compaction support will see mainline soon, potentially even for Linux 5.8 if this latest round of code review proves fruitful.