The Many Memory Management Improvements in Linux 6.18

1 month ago 4

LINUX KERNEL

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.

a penguin and memory DIMMs

More details on the many patches making up the MM feature pull for Linux 6.18 via this pull.

Read Entire Article