User: Password:
|
|
Subscribe / Log in / New account

postcopy migration: umem: Linux char device for postcopy

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

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



Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds