From: Kirti Wankhede <kwankhede@nvidia.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: cohuck@redhat.com, cjia@nvidia.com, aik@ozlabs.ru,
Zhengxiao.zx@Alibaba-inc.com, shuangtai.tst@alibaba-inc.com,
qemu-devel@nongnu.org, peterx@redhat.com, eauger@redhat.com,
yi.l.liu@intel.com, eskultet@redhat.com, ziye.yang@intel.com,
mlevitsk@redhat.com, pasic@linux.ibm.com, felipe@nutanix.com,
Ken.Xue@amd.com, kevin.tian@intel.com, yan.y.zhao@intel.com,
dgilbert@redhat.com, alex.williamson@redhat.com,
changpeng.liu@intel.com, quintela@redhat.com,
zhi.a.wang@intel.com, jonathan.davies@nutanix.com,
pbonzini@redhat.com
Subject: Re: [PATCH QEMU v25 17/17] qapi: Add VFIO devices migration stats in Migration stats
Date: Wed, 24 Jun 2020 02:46:39 +0530 [thread overview]
Message-ID: <fa9c879c-f062-7589-231c-b34fb0a107a7@nvidia.com> (raw)
In-Reply-To: <87zh8ucknj.fsf@dusky.pond.sub.org>
On 6/23/2020 12:51 PM, Markus Armbruster wrote:
> 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 <kwankhede@nvidia.com> writes:
>
>> Added amount of bytes transferred to the target VM by all VFIO devices
>>
>> Signed-off-by: Kirti Wankhede <kwankhede@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?
>
Sorry I missed to reply your question on earlier version.
VFIO device transfer vfio device's state, data from VFIO device and
guest memory pages pinned for dma operation.
For example in case of GPU, vfio device state is GPUs current state to
be saved that will be restored during resume and device data is data
from onboard framebuffer. Pinned memory is marked dirty and transferred
to target VM as part of global dirty page tracking for RAM.
VFIO device can add significant amount of data in migration stream
(depending on FB size in GB), transferred byte count is important
parameter to be monitored.
> 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"?
>
Vfio device migration interface is same as RAM's migration interface
(using SaveVMHandlers). Converge part is already take care by
.save_live_pending hook where *res_precopy_only is set to vfio devices
pending_bytes, migration->pending_bytes
How fast - I'm not sure how this can be calculated.
Thanks,
Kirti
> 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',
>
next prev parent reply other threads:[~2020-06-23 21:17 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-20 20:21 [PATCH QEMU v25 00/17] Add migration support for VFIO devices Kirti Wankhede
2020-06-20 20:21 ` [PATCH QEMU v25 01/17] vfio: Add function to unmap VFIO region Kirti Wankhede
2020-06-20 20:21 ` [PATCH QEMU v25 02/17] vfio: Add vfio_get_object callback to VFIODeviceOps Kirti Wankhede
2020-06-20 20:21 ` [PATCH QEMU v25 03/17] vfio: Add save and load functions for VFIO PCI devices Kirti Wankhede
2020-06-22 20:28 ` Alex Williamson
2020-06-24 14:29 ` Kirti Wankhede
2020-06-24 19:49 ` Alex Williamson
2020-06-26 12:16 ` Dr. David Alan Gilbert
2020-06-26 22:44 ` Alex Williamson
2020-06-29 9:59 ` Dr. David Alan Gilbert
2020-06-20 20:21 ` [PATCH QEMU v25 04/17] vfio: Add migration region initialization and finalize function Kirti Wankhede
2020-06-23 7:54 ` Cornelia Huck
2020-06-20 20:21 ` [PATCH QEMU v25 05/17] vfio: Add VM state change handler to know state of VM Kirti Wankhede
2020-06-22 22:50 ` Alex Williamson
2020-06-23 18:55 ` Kirti Wankhede
2020-06-26 14:51 ` Dr. David Alan Gilbert
2020-06-23 8:07 ` Cornelia Huck
2020-06-20 20:21 ` [PATCH QEMU v25 06/17] vfio: Add migration state change notifier Kirti Wankhede
2020-06-23 8:10 ` Cornelia Huck
2020-06-20 20:21 ` [PATCH QEMU v25 07/17] vfio: Register SaveVMHandlers for VFIO device Kirti Wankhede
2020-06-22 22:50 ` Alex Williamson
2020-06-23 19:21 ` Kirti Wankhede
2020-06-23 19:50 ` Alex Williamson
2020-06-26 14:22 ` Dr. David Alan Gilbert
2020-06-26 14:31 ` Dr. David Alan Gilbert
2020-06-20 20:21 ` [PATCH QEMU v25 08/17] vfio: Add save state functions to SaveVMHandlers Kirti Wankhede
2020-06-22 22:50 ` Alex Williamson
2020-06-23 20:34 ` Kirti Wankhede
2020-06-23 20:40 ` Alex Williamson
2020-06-20 20:21 ` [PATCH QEMU v25 09/17] vfio: Add load " Kirti Wankhede
2020-06-24 18:54 ` Alex Williamson
2020-06-25 14:16 ` Kirti Wankhede
2020-06-25 14:57 ` Alex Williamson
2020-06-26 14:54 ` Dr. David Alan Gilbert
2020-06-20 20:21 ` [PATCH QEMU v25 10/17] memory: Set DIRTY_MEMORY_MIGRATION when IOMMU is enabled Kirti Wankhede
2020-06-20 20:21 ` [PATCH QEMU v25 11/17] vfio: Get migration capability flags for container Kirti Wankhede
2020-06-24 8:43 ` Cornelia Huck
2020-06-24 18:55 ` Alex Williamson
2020-06-25 14:09 ` Kirti Wankhede
2020-06-25 14:56 ` Alex Williamson
2020-06-20 20:21 ` [PATCH QEMU v25 12/17] vfio: Add function to start and stop dirty pages tracking Kirti Wankhede
2020-06-23 10:32 ` Cornelia Huck
2020-06-23 11:01 ` Dr. David Alan Gilbert
2020-06-23 11:06 ` Cornelia Huck
2020-06-24 18:55 ` Alex Williamson
2020-06-20 20:21 ` [PATCH QEMU v25 13/17] vfio: create mapped iova list when vIOMMU is enabled Kirti Wankhede
2020-06-24 18:55 ` Alex Williamson
2020-06-25 14:34 ` Kirti Wankhede
2020-06-25 17:40 ` Alex Williamson
2020-06-26 14:43 ` Peter Xu
2020-06-20 20:21 ` [PATCH QEMU v25 14/17] vfio: Add vfio_listener_log_sync to mark dirty pages Kirti Wankhede
2020-06-24 18:55 ` Alex Williamson
2020-06-25 14:43 ` Kirti Wankhede
2020-06-25 17:57 ` Alex Williamson
2020-06-20 20:21 ` [PATCH QEMU v25 15/17] vfio: Add ioctl to get dirty pages bitmap during dma unmap Kirti Wankhede
2020-06-23 8:25 ` Cornelia Huck
2020-06-24 18:56 ` Alex Williamson
2020-06-25 15:01 ` Kirti Wankhede
2020-06-25 19:18 ` Alex Williamson
2020-06-26 14:15 ` Dr. David Alan Gilbert
2020-06-20 20:21 ` [PATCH QEMU v25 16/17] vfio: Make vfio-pci device migration capable Kirti Wankhede
2020-06-22 16:51 ` Cornelia Huck
2020-06-20 20:21 ` [PATCH QEMU v25 17/17] qapi: Add VFIO devices migration stats in Migration stats Kirti Wankhede
2020-06-23 7:21 ` Markus Armbruster
2020-06-23 21:16 ` Kirti Wankhede [this message]
2020-06-25 5:51 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=fa9c879c-f062-7589-231c-b34fb0a107a7@nvidia.com \
--to=kwankhede@nvidia.com \
--cc=Ken.Xue@amd.com \
--cc=Zhengxiao.zx@Alibaba-inc.com \
--cc=aik@ozlabs.ru \
--cc=alex.williamson@redhat.com \
--cc=armbru@redhat.com \
--cc=changpeng.liu@intel.com \
--cc=cjia@nvidia.com \
--cc=cohuck@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eauger@redhat.com \
--cc=eskultet@redhat.com \
--cc=felipe@nutanix.com \
--cc=jonathan.davies@nutanix.com \
--cc=kevin.tian@intel.com \
--cc=mlevitsk@redhat.com \
--cc=pasic@linux.ibm.com \
--cc=pbonzini@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=shuangtai.tst@alibaba-inc.com \
--cc=yan.y.zhao@intel.com \
--cc=yi.l.liu@intel.com \
--cc=zhi.a.wang@intel.com \
--cc=ziye.yang@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).