Re: [PATCH vhost v4 02/15] vdpa: Add VHOST_BACKEND_F_CHANGEABLE_VQ_ADDR_IN_SUSPEND flag

From: Eugenio Perez Martin
Date: Wed Dec 20 2023 - 08:32:51 EST


On Wed, Dec 20, 2023 at 5:06 AM Jason Wang <jasowang@xxxxxxxxxx> wrote:
>
> On Wed, Dec 20, 2023 at 11:46 AM Jason Wang <jasowang@xxxxxxxxxx> wrote:
> >
> > On Wed, Dec 20, 2023 at 2:09 AM Dragos Tatulea <dtatulea@xxxxxxxxxx> wrote:
> > >
> > > The virtio spec doesn't allow changing virtqueue addresses after
> > > DRIVER_OK. Some devices do support this operation when the device is
> > > suspended. The VHOST_BACKEND_F_CHANGEABLE_VQ_ADDR_IN_SUSPEND flag
> > > advertises this support as a backend features.
> >
> > There's an ongoing effort in virtio spec to introduce the suspend state.
> >
> > So I wonder if it's better to just allow such behaviour?
>
> Actually I mean, allow drivers to modify the parameters during suspend
> without a new feature.
>

That would be ideal, but how do userland checks if it can suspend +
change properties + resume?

The only way that comes to my mind is to make sure all parents return
error if userland tries to do it, and then fallback in userland. I'm
ok with that, but I'm not sure if the current master & previous kernel
has a coherent behavior. Do they return error? Or return success
without changing address / vq state?