Re: [GIT PULL] mm: frontswap (for 3.2 window)

Kurt Hackel
2011-10-27T19:30:33Z

Hi,
As the dev manager for OracleVM (x86) I'd like to express my interest in seeing frontswap get merged upstream. The OracleVM product has been capable of working with frontswap for over a year now, and we'd very much like to see the complete cleancache+frontswap feature set fully upstreamed. Oracle is also fully committed to the ongoing maintenance of frontswap.
thanks
kurt

Kurt C. Hackel
Development Director
Oracle VM
kurt.hackel@oracle.com

On 10/27/2011 11:52 AM, Dan Magenheimer wrote:
> Hi Linus --
>
> Frontswap now has FOUR users: Two already merged in-tree (zcache
> and Xen) and two still in development but in public git trees
> (RAMster and KVM). Frontswap is part 2 of 2 of the core kernel
> changes required to support transcendent memory; part 1 was cleancache
> which you merged at 3.0 (and which now has FIVE users).
>
> Frontswap patches have been in linux-next since June 3 (with zero
> changes since Sep 22). First posted to lkml in June 2009, frontswap
> is now at version 11 and has incorporated feedback from a wide range
> of kernel developers. For a good overview, see
> http://lwn.net/Articles/454795.
> If further rationale is needed, please see the end of this email
> for more info.
>
> SO... Please pull:
>
> git://oss.oracle.com/git/djm/tmem.git #tmem
>
> since git commit b6fd41e29dea9c6753b1843a77e50433e6123bcb
> Linus Torvalds (1):
>
> Linux 3.1-rc6
>
> (identical commits being pulled by sfr into linux-next since Sep22)
>
> Note that in addition to frontswap, this commit series includes
> some minor changes to cleancache necessary for consistency with
> changes for frontswap required by Andrew Morton (e.g. flush->invalidate
> name change; use debugfs instead of sysfs). As a result, a handful
> of cleancache-related VFS files incur only a very small change.
>
> Dan Magenheimer (8):
> mm: frontswap: add frontswap header file
> mm: frontswap: core swap subsystem hooks and headers
> mm: frontswap: core frontswap functionality
> mm: frontswap: config and doc files
> mm: cleancache: s/flush/invalidate/
> mm: frontswap/cleancache: s/flush/invalidate/
> mm: cleancache: report statistics via debugfs instead of sysfs.
> mm: cleancache: Use __read_mostly as appropiate.
>
> Diffstat:
> .../ABI/testing/sysfs-kernel-mm-cleancache | 11 -
> Documentation/vm/cleancache.txt | 41 ++--
> Documentation/vm/frontswap.txt | 210 +++++++++++++++
> drivers/staging/zcache/zcache-main.c | 10 +-
> drivers/xen/tmem.c | 10 +-
> fs/buffer.c | 2 +-
> fs/super.c | 2 +-
> include/linux/cleancache.h | 24 +-
> include/linux/frontswap.h | 9 +-
> include/linux/swap.h | 4 +
> include/linux/swapfile.h | 13 +
> mm/Kconfig | 17 ++
> mm/Makefile | 1 +
> mm/cleancache.c | 98 +++-----
> mm/filemap.c | 2 +-
> mm/frontswap.c | 273 ++++++++++++++++++++
> mm/page_io.c | 12 +
> mm/swapfile.c | 64 ++++-
> mm/truncate.c | 10 +-
> 19 files changed, 672 insertions(+), 141 deletions(-)
>
> ====
>
> FURTHER RATIONALE, INFORMATION, AND LINKS:
>
> In-kernel users (grep for CONFIG_FRONTSWAP):
> - drivers/staging/zcache (since 2.6.39)
> - drivers/xen/tmem.c (since 3.1)
> - drivers/xen/xen-selfballoon.c (since 3.1)
>
> Users in development in public git trees:
> - "RAMster" driver, see ramster branch of
> git://oss.oracle.com/git/djm/tmem.git
> - KVM port now underway, see:
> https://github.com/sashalevin/kvm-tmem/commits/tmem
>
> History of frontswap code:
> - code first written in Dec 2008
> - previously known as "hswap" and "preswap"
> - first public posting in Feb 2009
> - first LKML posting on June 19, 2009
> - renamed frontswap, posted on May 28, 2010
> - in linux-next since June 3, 2011
> - incorporated feedback from: (partial list)
> Andrew Morton, Jan Beulich, Konrad Wilk,
> Jeremy Fitzhardinge, Kamezawa Hiroyuki,
> Seth Jennings (IBM)
>
> Linux kernel distros incorporating frontswap:
> - Oracle UEK 2.6.39 Beta:
> http://oss.oracle.com/git/?p=linux-2.6-unbreakable-beta.git;a=summary
> - OpenSuSE since 11.2 (2009) [see mm/tmem-xen.c]
> http://kernel.opensuse.org/cgit/kernel/
> - a popular Gentoo distro
> http://forums.gentoo.org/viewtopic-t-862105.html
>
> Xen distros supporting Linux guests with frontswap:
> - Xen hypervisor backend since Xen 4.0 (2009)
> http://www.xen.org/files/Xen_4_0_Datasheet.pdf
> - OracleVM since 2.2 (2009)
> http://twitter.com/#!/Djelibeybi/status/113876514688352256
>
> Public visibility for frontswap (as part of transcendent memory):
> - presented at OSDI'08, OLS'09, LCA'10, LPC'10, LinuxCon NA 11, Oracle
> Open World 2011, two LSF/MM Summits (2010,2011), and three
> Xen Summits (2009,2010,2011)
> - http://lwn.net/Articles/454795 (current overview)
> - http://lwn.net/Articles/386090 (2010)
> - http://lwn.net/Articles/340080 (2009)