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