[libvirt] [PATCH v3 1/2] vfio/mdev: add migration_version attribute for mdev device

Cornelia Huck cohuck at redhat.com
Tue May 28 08:53:32 UTC 2019


On Sun, 26 May 2019 23:43:42 -0400
Yan Zhao <yan.y.zhao at intel.com> wrote:

> migration_version attribute is used to check migration compatibility
> between two mdev device of the same mdev type.

s/device/devices/

> The key is that it's rw and its data is opaque to userspace.
> 
> Userspace reads migration_version of mdev device at source side and
> writes the value to migration_version attribute of mdev device at target
> side. It judges migration compatibility according to whether the read
> and write operations succeed or fail.
> 
> As this attribute is under mdev_type node, userspace is able to know
> whether two mdev devices are compatible before a mdev device is created.
> 
> userspace needs to check whether the two mdev devices are of the same
> mdev type before checking the migration_version attribute. It also needs
> to check device creation parameters if aggregation is supported in
> future.
> 
>              __    userspace
>               /\              \
>              /                 \write
>             / read              \
>    ________/__________       ___\|/_____________
>   | migration_version |     | migration_version |-->check migration
>   ---------------------     ---------------------   compatibility
>     mdev device A               mdev device B
> 
> Cc: Alex Williamson <alex.williamson at redhat.com>
> Cc: Erik Skultety <eskultet at redhat.com>
> Cc: "Dr. David Alan Gilbert" <dgilbert at redhat.com>
> Cc: Cornelia Huck <cohuck at redhat.com>
> Cc: "Tian, Kevin" <kevin.tian at intel.com>
> Cc: Zhenyu Wang <zhenyuw at linux.intel.com>
> Cc: "Wang, Zhi A" <zhi.a.wang at intel.com>
> Cc: Neo Jia <cjia at nvidia.com>
> Cc: Kirti Wankhede <kwankhede at nvidia.com>
> Cc: Daniel P. Berrangé <berrange at redhat.com>
> Cc: Christophe de Dinechin <dinechin at redhat.com>
> 
> Signed-off-by: Yan Zhao <yan.y.zhao at intel.com>
> 
> ---
> v3:
> 1. renamed version to migration_version
> (Christophe de Dinechin, Cornelia Huck, Alex Williamson)
> 2. let errno to be freely defined by vendor driver
> (Alex Williamson, Erik Skultety, Cornelia Huck, Dr. David Alan Gilbert)
> 3. let checking mdev_type be prerequisite of migration compatibility
> check. (Alex Williamson)
> 4. reworded example usage section.
> (most of this section came from Alex Williamson)
> 5. reworded attribute intention section (Cornelia Huck)
> 
> v2:
> 1. added detailed intent and usage
> 2. made definition of version string completely private to vendor driver
>    (Alex Williamson)
> 3. abandoned changes to sample mdev drivers (Alex Williamson)
> 4. mandatory --> optional (Cornelia Huck)
> 5. added description for errno (Cornelia Huck)
> ---
>  Documentation/vfio-mediated-device.txt | 113 +++++++++++++++++++++++++
>  1 file changed, 113 insertions(+)
> 

While I probably would have written a more compact description, your
version is fine with me as well.

Reviewed-by: Cornelia Huck <cohuck at redhat.com>




More information about the libvir-list mailing list