[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220201121041.GA1786498@nvidia.com>
Date: Tue, 1 Feb 2022 08:10:41 -0400
From: Jason Gunthorpe <jgg@...dia.com>
To: Cornelia Huck <cohuck@...hat.com>
Cc: Yishai Hadas <yishaih@...dia.com>, alex.williamson@...hat.com,
bhelgaas@...gle.com, saeedm@...dia.com, linux-pci@...r.kernel.org,
kvm@...r.kernel.org, netdev@...r.kernel.org, kuba@...nel.org,
leonro@...dia.com, kwankhede@...dia.com, mgurtovoy@...dia.com,
maorg@...dia.com
Subject: Re: [PATCH V6 mlx5-next 08/15] vfio: Define device migration
protocol v2
On Tue, Feb 01, 2022 at 01:06:51PM +0100, Cornelia Huck wrote:
> On Sun, Jan 30 2022, Yishai Hadas <yishaih@...dia.com> wrote:
>
> > @@ -1582,6 +1760,10 @@ static int vfio_ioctl_device_feature(struct vfio_device *device,
> > return -EINVAL;
> >
> > switch (feature.flags & VFIO_DEVICE_FEATURE_MASK) {
> > + case VFIO_DEVICE_FEATURE_MIGRATION:
> > + return vfio_ioctl_device_feature_migration(
> > + device, feature.flags, arg->data,
> > + feature.argsz - minsz);
> > default:
> > if (unlikely(!device->ops->device_feature))
> > return -EINVAL;
> > @@ -1597,6 +1779,8 @@ static long vfio_device_fops_unl_ioctl(struct file *filep,
> > struct vfio_device *device = filep->private_data;
> >
> > switch (cmd) {
> > + case VFIO_DEVICE_MIG_SET_STATE:
> > + return vfio_ioctl_mig_set_state(device, (void __user *)arg);
> > case VFIO_DEVICE_FEATURE:
> > return vfio_ioctl_device_feature(device, (void __user *)arg);
> > default:
>
> Not really a critique of this patch, but have we considered how mediated
> devices will implement migration?
Yes
> I.e. what parts of the ops will need to be looped through the mdev
> ops?
I've deleted mdev ops in every driver except the intel vgpu, once
Christoph's patch there is merged mdev ops will be almost gone
completely.
mdev drivers now implement normal vfio_device_ops and require nothing
special for migration.
> Do we need to consider the scope of some queries/operations (whole
> device vs subdivisions etc.)? Not trying to distract from the whole new
> interface here, but I think we should have at least an idea.
All vfio operations on the device FD operate on whatever the struct
vfio_device is.
Jason
Powered by blists - more mailing lists