xen: cleancache shim to Xen Transcendent Memory
commite046b9640996aa07d240865d97527ed3ea26289d
authorDan Magenheimer <dan.magenheimer@oracle.com>
Thu, 14 Apr 2011 16:17:27 +0000 (14 10:17 -0600)
committerDan Magenheimer <dan.magenheimer@oracle.com>
Thu, 14 Apr 2011 16:17:27 +0000 (14 10:17 -0600)
tree97c0f93cb5bf37f30e451fd1c3d9e150017cde04
parent466c75068d2706d9d151ecf17f6bbae21f811400
xen: cleancache shim to Xen Transcendent Memory

This patch provides a shim between the kernel-internal cleancache
API (see Documentation/mm/cleancache.txt) and the Xen Transcendent
Memory ABI (see http://oss.oracle.com/projects/tmem).

Xen tmem provides "hypervisor RAM" as an ephemeral page-oriented
pseudo-RAM store for cleancache pages, shared cleancache pages,
and frontswap pages.  Tmem provides enterprise-quality concurrency,
full save/restore and live migration support, compression
and deduplication.

A presentation showing up to 8% faster performance and up to 52%
reduction in sectors read on a kernel compile workload, despite
aggressive in-kernel page reclamation ("self-ballooning") can be
found at:

http://oss.oracle.com/projects/tmem/dist/documentation/presentations/TranscendentMemoryXenSummit2010.pdf

Signed-off-by: Dan Magenheimer <dan.magenheimer@oracle.com>
Reviewed-by: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Nick Piggin <npiggin@kernel.dk>
Cc: Mel Gorman <mel@csn.ul.ie>
Cc: Rik Van Riel <riel@redhat.com>
Cc: Jan Beulich <JBeulich@novell.com>
Cc: Chris Mason <chris.mason@oracle.com>
Cc: Andreas Dilger <adilger@sun.com>
Cc: Ted Ts'o <tytso@mit.edu>
Cc: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <joel.becker@oracle.com>
Cc: Nitin Gupta <ngupta@vflare.org>
arch/x86/include/asm/xen/hypercall.h
drivers/xen/Makefile
drivers/xen/tmem.c [new file with mode: 0644]
include/xen/interface/xen.h