Frontswap Still Not Ready For Linux 3.3 Kernel

Cleancache was merged into the Linux kernel last May for the 3.0 release, but the Frontswap support is still missing in action as the work is more controversial.
Cleancache is just about dealing with clean pages and not providing any guarantee they are available later on, but Frontswap is dealing with dirty pages and must guarantee the memory pages are available for retrival later on. This support is especially looked after in virtualization environments. See this article by LWN for a full description on Cleancache and Frontswap for the Linux kernel, which make up the transcendent memory support.
Below is also some additional Frontswap/Cleancache information from its developer in an earlier mailing list posting.
Frontswap is the alter ego of cleancache, the "yang" to cleancache's "yin"... and more precisely frontswap is the provider of anonymous pages to transcendent memory to nicely complement cleancache's providing of clean pagecache pages to transcendent memory. For optimal use of transcendent memory, both are necessary... because a kernel under memory pressure first reclaims clean pagecache pages and, when under more memory pressure, starts swapping anonymous pages.
...
Frontswap code was first posted publicly in January 2009 and on LKML in May 2009, and has remained very stable for over two years now. It is barely invasive, touching only the swap subsystem and adds only about 100 lines of code to existing swap subsystem code files. It has improved syntactically substantially between V1 and this posting of V10, thanks to the review of a few kernel developers, and has adapted easily to at least one major swap subsystem change. As of 3.1, there are two in-tree users of frontswap patiently waiting for this patchset and for CONFIG_FRONTSWAP to be enabled: zcache (staging driver merged at 2.6.39) and Xen tmem (merged at 3.0 and 3.1).
Frontswap is already used by Zcache and Xen virtualization while also working on Frontswap support is the RAMster and KVM projects. The patches had been living in the linux-next tree for most of last year, but have yet to to make it into the mainline tree of Linus Torvalds.
Frontswap was queued up most recently for pulling into the Linux 3.2 kernel, but it didn't make it in due to a range of criticism it received. No attempt was made for the Linux 3.3 kernel, but now there's another developer taking over the work.
Dan Magenheimer, an engineer at Oracle, was responsible for creating Cleancache and Frontswap. Now, however, he seems to be handing off the reigns. Konrad Rzeszutek Wilk, a fellow Oracle engineer with Linux kernel memory management experience, is now taking over this code.
"I am taking the role of maintaining the cleancache and working on making the frontswap patches acceptable for the upstream tree. As this is merge window season, I've made the #linux-next branch be empty, but once the v3.3-rc1 branch is tagged I will start cracking on the patches," wrote Konrad Rzeszutek Wilk to the kernel mailing list yesterday.
Maybe we will finally see the Frontswap support -- the second part of Linux transcendent memory -- merged for the Linux 3.4 kernel in just a few months. This code is already being shipped by openSUSE, Oracle Linux, and others.
Add A Comment