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 > > > > > > > > > > > >