[RFC 0/2] kvm: Transcendent Memory (tmem) on KVM

From: Akshay Karle
Date: Thu Mar 08 2012 - 11:30:39 EST


Hi,

We are undergraduate engineering students of Maharashtra Academy of
Engineering, Pune, India and we are working on a project entitled
'Transcendent Memory on KVM' as a part of our academics.
The project members are:
1. Ashutosh Tripathi
2. Shreyas Mahure
3. Nishant Gulhane
4. Akshay Karle

---
Project Description:
What is Transcendent Memory(tmem in short)?
Transcendent Memory is a memory optimization technique for the
virtualized environment. It collects the underutilized memory of the
guests and the unassigned(fallow) memory of the host and places it into
a central tmem pool. Indirect access to this pool is then provided to the guests.
For further information on tmem, please refer the article on lwn by Dr.
Dan Magenheimer:
http://lwn.net/Articles/454795/

Since kvm is one of the most popular hypervisors available,
we decided to implement this technique for kvm.

---
kvm-tmem Patch details:
This patch adds appropriate shims at the guest that invokes the kvm
hypercalls, and the host uses zcache pools to implement the required
functions.

To enable tmem on the 'kvm host' add the boot parameter:
"kvmtmem"
And to enable tmem in the 'kvm guests' add the boot parameter:
"tmem"

The diffstat details for this patch are given below:
arch/x86/include/asm/kvm_host.h | 1
arch/x86/kvm/x86.c | 4
drivers/staging/zcache/Makefile | 2
drivers/staging/zcache/kvm-tmem.c | 356 +++++++++++++++++++++++++++++++++++
drivers/staging/zcache/kvm-tmem.h | 55 +++++
drivers/staging/zcache/zcache-main.c | 98 ++++++++-
include/linux/kvm_para.h | 1
7 files changed, 508 insertions(+), 9 deletions(-)

We have already uploaded our work alongwith the 'Frontswap' submitted by Dan,
on the following link:
https://github.com/akshaykarle/kvm-tmem

Any comments/feedback would be appreciated and will help us a lot with our work.

Regards,
Akshay

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/