[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v18 QEMU 07/18] vfio: Add migration state change notifier
From: |
Cornelia Huck |
Subject: |
Re: [PATCH v18 QEMU 07/18] vfio: Add migration state change notifier |
Date: |
Tue, 5 May 2020 12:46:39 +0200 |
On Tue, 5 May 2020 04:14:42 +0530
Kirti Wankhede <address@hidden> wrote:
> Added migration state change notifier to get notification on migration state
> change. These states are translated to VFIO device state and conveyed to
> vendor
> driver.
>
> Signed-off-by: Kirti Wankhede <address@hidden>
> Reviewed-by: Neo Jia <address@hidden>
> ---
> hw/vfio/migration.c | 30 ++++++++++++++++++++++++++++++
> hw/vfio/trace-events | 5 +++--
> include/hw/vfio/vfio-common.h | 1 +
> 3 files changed, 34 insertions(+), 2 deletions(-)
>
> diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
> index e79b34003079..c2f5564b51c3 100644
> --- a/hw/vfio/migration.c
> +++ b/hw/vfio/migration.c
> @@ -154,6 +154,28 @@ static void vfio_vmstate_change(void *opaque, int
> running, RunState state)
> }
> }
>
> +static void vfio_migration_state_notifier(Notifier *notifier, void *data)
> +{
> + MigrationState *s = data;
> + VFIODevice *vbasedev = container_of(notifier, VFIODevice,
> migration_state);
> + int ret;
> +
> + trace_vfio_migration_state_notifier(vbasedev->name,
> + MigrationStatus_str(s->state));
> +
> + switch (s->state) {
> + case MIGRATION_STATUS_CANCELLING:
> + case MIGRATION_STATUS_CANCELLED:
> + case MIGRATION_STATUS_FAILED:
> + ret = vfio_migration_set_state(vbasedev,
> + ~(VFIO_DEVICE_STATE_SAVING |
> VFIO_DEVICE_STATE_RESUMING),
> + VFIO_DEVICE_STATE_RUNNING);
> + if (ret) {
> + error_report("%s: Failed to set state RUNNING", vbasedev->name);
> + }
What is the actually desired state transition here? Again, I find the
interface hard to read... and my comments regarding state propagation
and error states from the previous patch apply here as well.
> + }
> +}
> +
- [PATCH v18 QEMU 03/18] vfio: Add vfio_get_object callback to VFIODeviceOps, (continued)
- [PATCH v18 QEMU 03/18] vfio: Add vfio_get_object callback to VFIODeviceOps, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 02/18] vfio: Add function to unmap VFIO region, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 04/18] vfio: Add save and load functions for VFIO PCI devices, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 05/18] vfio: Add migration region initialization and finalize function, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 06/18] vfio: Add VM state change handler to know state of VM, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 07/18] vfio: Add migration state change notifier, Kirti Wankhede, 2020/05/04
- Re: [PATCH v18 QEMU 07/18] vfio: Add migration state change notifier,
Cornelia Huck <=
- [PATCH v18 QEMU 08/18] vfio: Register SaveVMHandlers for VFIO device, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 10/18] vfio: Add load state functions to SaveVMHandlers, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 11/18] iommu: add callback to get address limit IOMMU supports, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 09/18] vfio: Add save state functions to SaveVMHandlers, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 12/18] memory: Set DIRTY_MEMORY_MIGRATION when IOMMU is enabled, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 13/18] vfio: Add function to start and stop dirty pages tracking, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 14/18] vfio: Add vfio_listener_log_sync to mark dirty pages, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 15/18] vfio: Get migration capability flags for container, Kirti Wankhede, 2020/05/04
- [PATCH v18 QEMU 16/18] vfio: Add ioctl to get dirty pages bitmap during dma unmap., Kirti Wankhede, 2020/05/04