QAPI review only. The only changes since I reviewed v23 is the rename of VfioStats member @bytes to @transferred, and the move of MigrationInfo member @vfio next to @ram and @disk. Good. I'm copying my other questions in the hope of getting answers :)
Kirti Wankhede <kwankh...@nvidia.com> writes: > Added amount of bytes transferred to the target VM by all VFIO devices > > Signed-off-by: Kirti Wankhede <kwankh...@nvidia.com> [...] > diff --git a/qapi/migration.json b/qapi/migration.json > index d5000558c6c9..952864b05455 100644 > --- a/qapi/migration.json > +++ b/qapi/migration.json > @@ -146,6 +146,18 @@ > 'active', 'postcopy-active', 'postcopy-paused', > 'postcopy-recover', 'completed', 'failed', 'colo', > 'pre-switchover', 'device', 'wait-unplug' ] } > +## > +# @VfioStats: > +# > +# Detailed VFIO devices migration statistics > +# > +# @transferred: amount of bytes transferred to the target VM by VFIO devices > +# > +# Since: 5.1 > +# > +## > +{ 'struct': 'VfioStats', > + 'data': {'transferred': 'int' } } Pardon my ignorance... What exactly do VFIO devices transfer to the target VM? How is that related to MigrationInfo member @ram? MigrationStats has much more information, and some of it is pretty useful to track how migration is doing, in particular whether it converges, and how fast. Absent in VfioStats due to "not implemented", or due to "can't be done"? Byte counts should use QAPI type 'size'. Many existing ones don't. Since MigrationStats uses 'int', I'll let the migration maintainers decide whether they want 'int' or 'size' here. > ## > # @MigrationInfo: > @@ -207,11 +219,16 @@ > # > # @socket-address: Only used for tcp, to know what the real port is (Since > 4.0) > # > +# @vfio: @VfioStats containing detailed VFIO devices migration statistics, > +# only returned if VFIO device is present, migration is supported by > all > +# VFIO devices and status is 'active' or 'completed' (since 5.1) > +# > # Since: 0.14.0 > ## > { 'struct': 'MigrationInfo', > 'data': {'*status': 'MigrationStatus', '*ram': 'MigrationStats', > '*disk': 'MigrationStats', > + '*vfio': 'VfioStats', > '*xbzrle-cache': 'XBZRLECacheStats', > '*total-time': 'int', > '*expected-downtime': 'int',