[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH V2 00/10] Qemu: Add live migration support for S
From: |
Lan Tianyu |
Subject: |
[Qemu-devel] [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC |
Date: |
Tue, 24 Nov 2015 21:35:17 +0800 |
This patchset is to propose a solution of adding live migration
support for SRIOV NIC.
During migration, Qemu needs to let VF driver in the VM to know
migration start and end. Qemu adds faked PCI migration capability
to help to sync status between two sides during migration.
Qemu triggers VF's mailbox irq via sending MSIX msg when migration
status is changed. VF driver tells Qemu its mailbox vector index
via the new PCI capability. In some cases(NIC is suspended or closed),
VF mailbox irq is freed and VF driver can disable irq injecting via
new capability.
VF driver will put down nic before migration and put up again on
the target machine.
Lan Tianyu (10):
Qemu/VFIO: Create head file pci.h to share data struct.
Qemu/VFIO: Add new VFIO_GET_PCI_CAP_INFO ioctl cmd definition
Qemu/VFIO: Rework vfio_std_cap_max_size() function
Qemu/VFIO: Add vfio_find_free_cfg_reg() to find free PCI config space
regs
Qemu/VFIO: Expose PCI config space read/write and msix functions
Qemu/PCI: Add macros for faked PCI migration capability
Qemu: Add post_load_state() to run after restoring CPU state
Qemu: Add save_before_stop callback to run just before stopping VCPU
during migration
Qemu/VFIO: Add SRIOV VF migration support
Qemu/VFIO: Misc change for enable migration with VFIO
hw/vfio/Makefile.objs | 2 +-
hw/vfio/pci.c | 196 +++++++++-----------------------------------
hw/vfio/pci.h | 168 +++++++++++++++++++++++++++++++++++++
hw/vfio/sriov.c | 178 ++++++++++++++++++++++++++++++++++++++++
include/hw/pci/pci_regs.h | 19 +++++
include/migration/vmstate.h | 5 ++
include/sysemu/sysemu.h | 1 +
linux-headers/linux/vfio.h | 16 ++++
migration/migration.c | 3 +-
migration/savevm.c | 28 +++++++
10 files changed, 459 insertions(+), 157 deletions(-)
create mode 100644 hw/vfio/pci.h
create mode 100644 hw/vfio/sriov.c
--
1.9.3
- [Qemu-devel] [RFC PATCH V2 00/10] Qemu: Add live migration support for SRIOV NIC,
Lan Tianyu <=
- [Qemu-devel] [RFC PATCH V2 01/10] Qemu/VFIO: Create head file pci.h to share data struct., Lan Tianyu, 2015/11/24
- [Qemu-devel] [RFC PATCH V2 02/10] Qemu/VFIO: Add new VFIO_GET_PCI_CAP_INFO ioctl cmd definition, Lan Tianyu, 2015/11/24
- [Qemu-devel] [RFC PATCH V2 03/10] Qemu/VFIO: Rework vfio_std_cap_max_size() function, Lan Tianyu, 2015/11/24
- [Qemu-devel] [RFC PATCH V2 04/10] Qemu/VFIO: Add vfio_find_free_cfg_reg() to find free PCI config space regs, Lan Tianyu, 2015/11/24
- [Qemu-devel] [RFC PATCH V2 05/10] Qemu/VFIO: Expose PCI config space read/write and msix functions, Lan Tianyu, 2015/11/24
- [Qemu-devel] [RFC PATCH V2 07/10] Qemu: Add post_load_state() to run after restoring CPU state, Lan Tianyu, 2015/11/24
- [Qemu-devel] [RFC PATCH V2 06/10] Qemu/PCI: Add macros for faked PCI migration capability, Lan Tianyu, 2015/11/24
- [Qemu-devel] [RFC PATCH V2 08/10] Qemu: Add save_before_stop callback to run just before stopping VCPU during migration, Lan Tianyu, 2015/11/24
- [Qemu-devel] [RFC PATCH V2 09/10] Qemu/VFIO: Add SRIOV VF migration support, Lan Tianyu, 2015/11/24