| From: |
| Isaku Yamahata <yamahata@valinux.co.jp> |
| To: |
| qemu-devel@nongnu.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org |
| Subject: |
| [PATCH v3 0/2] postcopy migration: umem: Linux char device for postcopy |
| Date: |
| Mon, 4 Jun 2012 18:58:38 +0900 |
| Message-ID: |
| <cover.1338803423.git.yamahata@valinux.co.jp> |
| Cc: |
| owasserm@redhat.com, quintela@redhat.com, avi@redhat.com,
pbonzini@redhat.com, aliguori@us.ibm.com, stefanha@gmail.com,
dlaor@redhat.com, mdroth@linux.vnet.ibm.com,
yoshikawa.takuya@oss.ntt.co.jp, benoit.hudzia@gmail.com,
aarcange@redhat.com, t.hirofuchi@aist.go.jp,
satoshi.itoh@aist.go.jp |
| Archive-link: |
| Article, Thread
|
This is Linux kernel driver for qemu/kvm postcopy live migration.
This is used by qemu/kvm postcopy live migration patch.
TODO:
- Consider FUSE/CUSE option
So far several mmap patches for FUSE/CUSE are floating around. (their
purpose isn't different from our purpose, though). They haven't merged
into the upstream yet.
The driver specific part in qemu patches is modularized. So I expect it
wouldn't be difficult to switch kernel driver to CUSE based driver.
ioctl commands:
UMEM_INIT: initialize umem device for qemu
UMEM_MAKE_VMA_ANONYMOUS: make the specified vma in the qemu process
This is _NOT_ implemented yet.
anonymous I'm not sure whether this can be implemented
or not.
---
Changes v2 -> v3:
- make fault handler killable
- make use of read()/write()
- documentation
Changes version 1 -> 2:
- make ioctl structures padded to align
- un-KVM
KVM_VMEM -> UMEM
- dropped some ioctl commands as Avi requested
Isaku Yamahata (2):
export necessary symbols
umem: chardevice for kvm postcopy
Documentation/misc-devices/umem.txt | 303 ++++++++++++
drivers/char/Kconfig | 10 +
drivers/char/Makefile | 1 +
drivers/char/umem.c | 900 +++++++++++++++++++++++++++++++++++
include/linux/umem.h | 42 ++
mm/memcontrol.c | 1 +
mm/mempolicy.c | 1 +
mm/shmem.c | 1 +
8 files changed, 1259 insertions(+), 0 deletions(-)
create mode 100644 Documentation/misc-devices/umem.txt
create mode 100644 drivers/char/umem.c
create mode 100644 include/linux/umem.h