[PATCH V3 vfio 0/2] Migration few enhancements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This series includes few enhancements in the migration area and some
fixes in mlx5 driver as of below.

It splits migration ops from the main device ops, this enables a driver
to safely set its migration's ops only when migration is supported and
leave the other code around (e.g., core, driver) clean.

Registering different structs based on the device capabilities might
start to hit combinatorial explosion when we'll introduce ops for dirty
logging that may be optional too.

As part of that, adapt mlx5 to this scheme and fix some issues around
its migration capable usage.

V3:
- Fix a typo in vfio_pci_core_register_device(), to check for both set & get 'mig_ops'.

V2: https://lore.kernel.org/all/20220616170118.497620ba.alex.williamson@xxxxxxxxxx/T/
- Validate ops construction and migration mandatory flags on
  registration as was asked by Kevin and Jason.
- As of the above move to use a single 'mig_ops' check in vfio before
  calling the driver.

V1: https://lore.kernel.org/all/20220626083958.54175-1-yishaih@xxxxxxxxxx/
- Add a comment about the required usage of 'mig_ops' as was suggested
  by Alex.
- Add Kevin's Reviewed-by tag.

V0:
https://lore.kernel.org/all/20220616170118.497620ba.alex.williamson@xxxxxxxxxx/T/

Yishai
Yishai Hadas (2):
  vfio/mlx5: Protect mlx5vf_disable_fds() upon close device
  vfio: Split migration ops from main device ops

 .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c    | 11 +++++--
 drivers/vfio/pci/mlx5/cmd.c                   | 14 ++++++++-
 drivers/vfio/pci/mlx5/cmd.h                   |  4 ++-
 drivers/vfio/pci/mlx5/main.c                  | 11 ++++---
 drivers/vfio/pci/vfio_pci_core.c              |  7 +++++
 drivers/vfio/vfio.c                           | 11 ++++---
 include/linux/vfio.h                          | 30 ++++++++++++-------
 7 files changed, 63 insertions(+), 25 deletions(-)

-- 
2.18.1




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux