Re: [PATCH V2 1/3] virtio: allow nested disabling of the configure interrupt

Michael S. Tsirkin
2024-06-25T08:31:55Z

On Tue, Jun 25, 2024 at 04:18:00PM +0800, Jason Wang wrote:
> > > >
> > > >
> > > >
> > > > But in conclusion ;) if you don't like my suggestion do something else
> > > > but make the APIs make sense,
> > >
> > > I don't say I don't like it:)
> > >
> > > Limiting it to virtio-net seems to be the most easy way. And if we
> > > want to do it in the core, I just want to make nesting to be supported
> > > which might not be necessary now.
> >
> > I feel limiting it to a single driver strikes the right balance ATM.
>
> Just to make sure I understand here, should we go back to v1 or go
> with the config_driver_disabled?
>
> Thanks

I still like config_driver_disabled.

> >
> > >
> > > > at least do better than +5
> > > > on Rusty's interface design scale.
> > > >
> > > > >
> > >
> > > Thanks
> > >
> > >
> > > > >
> > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > > @@ -455,7 +461,7 @@ int register_virtio_device(struct virtio_device *dev)
> > > > > > > goto out_ida_remove;
> > > > > > >
> > > > > > > spin_lock_init(&dev->config_lock);
> > > > > > > - dev->config_enabled = false;
> > > > > > > + dev->config_enabled = 0;
> > > > > > > dev->config_change_pending = false;
> > > > > > >
> > > > > > > INIT_LIST_HEAD(&dev->vqs);
> > > > > > > diff --git a/include/linux/virtio.h b/include/linux/virtio.h
> > > > > > > index 96fea920873b..4496f9ba5d82 100644
> > > > > > > --- a/include/linux/virtio.h
> > > > > > > +++ b/include/linux/virtio.h
> > > > > > > @@ -132,7 +132,7 @@ struct virtio_admin_cmd {
> > > > > > > struct virtio_device {
> > > > > > > int index;
> > > > > > > bool failed;
> > > > > > > - bool config_enabled;
> > > > > > > + int config_enabled;
> > > > > > > bool config_change_pending;
> > > > > > > spinlock_t config_lock;
> > > > > > > spinlock_t vqs_list_lock;
> > > > > > > --
> > > > > > > 2.31.1
> > > > > >
> > > >
> >