Message ID | d1fbc27ac2417b49892f354ba20f6c6b3f7209f8.1741124640.git.maciej.szmigiero@oracle.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Multifd | expand |
On 3/4/25 23:03, Maciej S. Szmigiero wrote: > From: "Maciej S. Szmigiero" <maciej.szmigiero@oracle.com> > > This way bytes_transferred can also be incremented in other translation > units than migration.c. > > Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> Reviewed-by: Cédric Le Goater <clg@redhat.com> Thanks, C. > --- > hw/vfio/migration.c | 7 ++++++- > include/hw/vfio/vfio-common.h | 1 + > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c > index 5532787be63b..51c056e152aa 100644 > --- a/hw/vfio/migration.c > +++ b/hw/vfio/migration.c > @@ -391,7 +391,7 @@ static ssize_t vfio_save_block(QEMUFile *f, VFIOMigration *migration) > qemu_put_be64(f, VFIO_MIG_FLAG_DEV_DATA_STATE); > qemu_put_be64(f, data_size); > qemu_put_buffer(f, migration->data_buffer, data_size); > - qatomic_add(&bytes_transferred, data_size); > + vfio_mig_add_bytes_transferred(data_size); > > trace_vfio_save_block(migration->vbasedev->name, data_size); > > @@ -1021,6 +1021,11 @@ void vfio_reset_bytes_transferred(void) > qatomic_set(&bytes_transferred, 0); > } > > +void vfio_mig_add_bytes_transferred(unsigned long val) > +{ > + qatomic_add(&bytes_transferred, val); > +} > + > /* > * Return true when either migration initialized or blocker registered. > * Currently only return false when adding blocker fails which will > diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h > index ac35136a1105..5c84ebb00298 100644 > --- a/include/hw/vfio/vfio-common.h > +++ b/include/hw/vfio/vfio-common.h > @@ -274,6 +274,7 @@ void vfio_unblock_multiple_devices_migration(void); > bool vfio_viommu_preset(VFIODevice *vbasedev); > int64_t vfio_mig_bytes_transferred(void); > void vfio_reset_bytes_transferred(void); > +void vfio_mig_add_bytes_transferred(unsigned long val); > bool vfio_device_state_is_running(VFIODevice *vbasedev); > bool vfio_device_state_is_precopy(VFIODevice *vbasedev); > >
diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c index 5532787be63b..51c056e152aa 100644 --- a/hw/vfio/migration.c +++ b/hw/vfio/migration.c @@ -391,7 +391,7 @@ static ssize_t vfio_save_block(QEMUFile *f, VFIOMigration *migration) qemu_put_be64(f, VFIO_MIG_FLAG_DEV_DATA_STATE); qemu_put_be64(f, data_size); qemu_put_buffer(f, migration->data_buffer, data_size); - qatomic_add(&bytes_transferred, data_size); + vfio_mig_add_bytes_transferred(data_size); trace_vfio_save_block(migration->vbasedev->name, data_size); @@ -1021,6 +1021,11 @@ void vfio_reset_bytes_transferred(void) qatomic_set(&bytes_transferred, 0); } +void vfio_mig_add_bytes_transferred(unsigned long val) +{ + qatomic_add(&bytes_transferred, val); +} + /* * Return true when either migration initialized or blocker registered. * Currently only return false when adding blocker fails which will diff --git a/include/hw/vfio/vfio-common.h b/include/hw/vfio/vfio-common.h index ac35136a1105..5c84ebb00298 100644 --- a/include/hw/vfio/vfio-common.h +++ b/include/hw/vfio/vfio-common.h @@ -274,6 +274,7 @@ void vfio_unblock_multiple_devices_migration(void); bool vfio_viommu_preset(VFIODevice *vbasedev); int64_t vfio_mig_bytes_transferred(void); void vfio_reset_bytes_transferred(void); +void vfio_mig_add_bytes_transferred(unsigned long val); bool vfio_device_state_is_running(VFIODevice *vbasedev); bool vfio_device_state_is_precopy(VFIODevice *vbasedev);