mbox series

[v3,0/4] qapi/vfio: Add VFIO migration QAPI event

Message ID 20240515132138.4560-1-avihaih@nvidia.com (mailing list archive)
Headers show
Series qapi/vfio: Add VFIO migration QAPI event | expand

Message

Avihai Horon May 15, 2024, 1:21 p.m. UTC
Hello,

This series adds a new QAPI event for VFIO device migration state 
change. This event will be emitted when a VFIO device changes its
state, for example, during migration or when stopping/starting the
guest.

This event can be used by management applications to get updates on the
current state of the VFIO device for their own purposes.

A new per VFIO device capability, "migration-events", is added so events
can be enabled only for the required devices. It is disabled by default.

Feedback/comments are appreciated,

Thanks.

Changes from v2 [2]:
* Added assert for vbasedev->ops->vfio_get_object and obj. (Cedric)
* Renamed set_state() to vfio_migration_set_device_state(). (Cedric)
* Enhanced tracing of device state change. (Cedric)
* Added Cedric's R-b.

Changes from v1 [1]:
* Added more info to patch #1 commit mesasge. (Markus)
* Renamed VFIODeviceMigState to VfioMigrationState and
  VFIO_DEVICE_MIG_STATE_CHANGED to VFIO_MIGRATION. (Joao, Markus)
* Added qom-path and qdev id to VFIO_MIGRATION event data. (Markus)
* Handled no-op state transitions in vfio_migration_set_state().
  (Cedric)
* Added helper to set VFIO state and emit VFIO event. (Peter)

[1]
https://lore.kernel.org/qemu-devel/20240430051621.19597-1-avihaih@nvidia.com/

[2]
https://lore.kernel.org/qemu-devel/20240509090954.16447-1-avihaih@nvidia.com/

Avihai Horon (4):
  qapi/vfio: Add VFIO migration QAPI event
  vfio/migration: Emit VFIO migration QAPI event
  vfio/migration: Don't emit STOP_COPY VFIO migration QAPI event twice
  vfio/migration: Enhance VFIO migration state tracing

 MAINTAINERS                   |  1 +
 qapi/qapi-schema.json         |  1 +
 qapi/vfio.json                | 67 +++++++++++++++++++++++++++++++++
 include/hw/vfio/vfio-common.h |  1 +
 hw/vfio/migration.c           | 71 ++++++++++++++++++++++++++++++++---
 hw/vfio/pci.c                 |  2 +
 hw/vfio/trace-events          |  3 +-
 qapi/meson.build              |  1 +
 8 files changed, 141 insertions(+), 6 deletions(-)
 create mode 100644 qapi/vfio.json

Comments

Cédric Le Goater May 16, 2024, 4:29 p.m. UTC | #1
On 5/15/24 15:21, Avihai Horon wrote:
> Hello,
> 
> This series adds a new QAPI event for VFIO device migration state
> change. This event will be emitted when a VFIO device changes its
> state, for example, during migration or when stopping/starting the
> guest.
> 
> This event can be used by management applications to get updates on the
> current state of the VFIO device for their own purposes.
> 
> A new per VFIO device capability, "migration-events", is added so events
> can be enabled only for the required devices. It is disabled by default.
> 
> Feedback/comments are appreciated,


Applied to vfio-next.

Thanks,

C.


> 
> Thanks.
> 
> Changes from v2 [2]:
> * Added assert for vbasedev->ops->vfio_get_object and obj. (Cedric)
> * Renamed set_state() to vfio_migration_set_device_state(). (Cedric)
> * Enhanced tracing of device state change. (Cedric)
> * Added Cedric's R-b.
> 
> Changes from v1 [1]:
> * Added more info to patch #1 commit mesasge. (Markus)
> * Renamed VFIODeviceMigState to VfioMigrationState and
>    VFIO_DEVICE_MIG_STATE_CHANGED to VFIO_MIGRATION. (Joao, Markus)
> * Added qom-path and qdev id to VFIO_MIGRATION event data. (Markus)
> * Handled no-op state transitions in vfio_migration_set_state().
>    (Cedric)
> * Added helper to set VFIO state and emit VFIO event. (Peter)
> 
> [1]
> https://lore.kernel.org/qemu-devel/20240430051621.19597-1-avihaih@nvidia.com/
> 
> [2]
> https://lore.kernel.org/qemu-devel/20240509090954.16447-1-avihaih@nvidia.com/
> 
> Avihai Horon (4):
>    qapi/vfio: Add VFIO migration QAPI event
>    vfio/migration: Emit VFIO migration QAPI event
>    vfio/migration: Don't emit STOP_COPY VFIO migration QAPI event twice
>    vfio/migration: Enhance VFIO migration state tracing
> 
>   MAINTAINERS                   |  1 +
>   qapi/qapi-schema.json         |  1 +
>   qapi/vfio.json                | 67 +++++++++++++++++++++++++++++++++
>   include/hw/vfio/vfio-common.h |  1 +
>   hw/vfio/migration.c           | 71 ++++++++++++++++++++++++++++++++---
>   hw/vfio/pci.c                 |  2 +
>   hw/vfio/trace-events          |  3 +-
>   qapi/meson.build              |  1 +
>   8 files changed, 141 insertions(+), 6 deletions(-)
>   create mode 100644 qapi/vfio.json
>