Frontswap Still Not Ready For Linux 3.3 Kernel

Posted by Michael Larabel on January 13, 2012

While the Frontswap patches with Cleancache have been available for several Linux kernel release cycles, the Frontswap support still hasn't been merged. Another Oracle developer is now taking over maintenance of Cleancache and getting Frontswap finally ready for merging, but it's too late for the 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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. The Cost Of Ubuntu Disk Encryption
  2. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  3. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  4. F2FS File-System Shows Regressions On Linux 3.10
Latest Linux News
  1. Freedreno Gallium3D Now Banging The Adreno A3XX
  2. Jolla Announces Their First Phone
  3. Mageia 3 Released, Still Using Legacy GRUB
  4. NetBSD 6.1 Brings In More Features
  5. Using Six Monitors With AMD's Open-Source Linux Driver
  6. Benchmarking The Intel P-State, CPUfreq Changes
  7. FreeBSD Still Working On Next-Gen Package Manager
  8. DNF Still Advancing As Experimental Yum For Fedora
  9. Logitech Begins Supporting Linux Users
  10. Modern Intel Gallium3D Driver Still Being Toyed With
  11. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
Latest Forum Talk
  1. Freedreno Gallium3D Now Banging The Adreno A3XX
  2. Jolla Announces Their First Phone
  3. Using Six Monitors With AMD's Open-Source Linux...
  4. Features Being Developed For KDE 4.11 Desktop
  5. What is the breakdown of ad revenue vs paid...
  6. X3: Albion Prelude Released For Linux Gamers
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite