MGLRU is a kernel innovation that we are looking forward to seeing merged in 2022 and it looks like it might happen for the next cycle, v5.19, to improve Linux system performance, especially when approaching the memory pressure.
MGLRU is short for Multi-Gen LRU and is a redesign by Google engineers of how kernel page fetch code is handled. They found that the current Linux kernel page fetch management is too expensive and can make poor eviction choices, but MGLRU has proven to be a great improvement both for their internal workloads and by external parties testing the many public patch revisions.
Check out some of the compelling MGLRU benchmark results for workloads benefiting Apache Cassandra, Hadoop, Memcached, PostgreSQL, Redis, MongoDB, FIO, and many other workloads. Or even for those cases of running a web browser with many tabs when you often face system memory pressure and SWAP storms, MGLRU has kept systems in a usable state.
Google’s Yu Zhao today sent Linus a pull request for MGLRU. While the Linux 5.18 merge window is underway right now, Yu wasn’t necessarily to push it just yet,”This is more of an option than a 5.18 request. I am sending it to you directly because, in my opinion, it is now as ready as it will ever be.”
In the Linux kernel mailing list thread for this pull request, Linus Torvalds stated that he was not opposed to it, but that he would ultimately not use it for Linux 5.18. The basis being that MGLRU has not been fully checked through the linux-next tree. He wants to see this big patch series running in Linux-Next for a while to help uncover any issues, especially with all the build automation/testing going on for Linux-Next.
So at this point it looks like Mutli-Gen LRU could go into Linux-Next for about a cycle and if all goes well it could be merged for Linux 5.19 this summer. There are also more endorsements which would be appreciated, but the main reason not to merge with 5.18 is the lack of exposure to Linux-Next.
Previous MGLRU Developer’s Summary.
Here’s hoping MGLRU comes to Linux 5.19!