Re: [PATCH vhost v4 06/15] vdpa: Track device suspended state

From: Dragos Tatulea
Date: Wed Dec 20 2023 - 07:56:03 EST


On Wed, 2023-12-20 at 11:46 +0800, Jason Wang wrote:
> On Wed, Dec 20, 2023 at 2:09 AM Dragos Tatulea <dtatulea@xxxxxxxxxx> wrote:
> >
> > Set vdpa device suspended state on successful suspend. Clear it on
> > successful resume and reset.
> >
> > The state will be locked by the vhost_vdpa mutex. The mutex is taken
> > during suspend, resume and reset in vhost_vdpa_unlocked_ioctl. The
> > exception is vhost_vdpa_open which does a device reset but that should
> > be safe because it can only happen before the other ops.
> >
> > Signed-off-by: Dragos Tatulea <dtatulea@xxxxxxxxxx>
> > Suggested-by: Eugenio Pérez <eperezma@xxxxxxxxxx>
> > ---
> > drivers/vhost/vdpa.c | 17 +++++++++++++++--
> > 1 file changed, 15 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
> > index b4e8ddf86485..00b4fa8e89f2 100644
> > --- a/drivers/vhost/vdpa.c
> > +++ b/drivers/vhost/vdpa.c
> > @@ -59,6 +59,7 @@ struct vhost_vdpa {
> > int in_batch;
> > struct vdpa_iova_range range;
> > u32 batch_asid;
> > + bool suspended;
>
> Any reason why we don't do it in the core vDPA device but here?
>
Not really. I wanted to be safe and not expose it in a header due to locking.

Thanks,
Dragos