The many memory management “MM” changes were recently merged into the Linux 6.18 kernel, consisting of a number of interesting patch series.
Andrew Morton submitted the big set of MM changes for Linux 6.18. The highlights this cycle from the long list of patches include:
– Improvements to the cluster scan strategy for the swapping code. This improves the large allocation performance. A Tencent engineer found that for a kernel build test with 96 jobs and 10G of zRAM with 64KkB mTHP enabled, the system time was nearly halved and also saw a lower swap failure rate.
– Improvements to the Kexec Handover functionality introduced back in Linux 6.16.
– Kernel file-mapped folios introduce the notion of “kernel file pages”.
– Extending PR_SET_THP_DISABLE to allow individual processes to opt-out of THP always behavior into “madvise” THP mode without affecting other running workloads on the system.
– Tiny optimizations for large read operations to enhance the page cache read path.
– Adding persistent huge zero folio support.
– The Zpool indirection layer has been removed.
– Enhancements around Rust allocator support. There is also now Rust abstractions for maple trees, driven by Nouveau and Nova driver needs.
– The preliminary code intrdoucing swap tables as swap cache.
– A number of improvements to the out-of-memory (OOM) killer.
This complements the other non-MM pull request to also already having been merged for Linux 6.18.
More details on the many patches making up the MM feature pull for Linux 6.18 via this pull.