Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH v8 09/10] vduse: Introduce VDUSE - vDPA Device in Userspace | From | Jason Wang <> | Date | Thu, 24 Jun 2021 16:13:56 +0800 |
| |
在 2021/6/24 下午12:46, Yongji Xie 写道: >> So we need to deal with both FEATURES_OK and reset, but probably not >> DRIVER_OK. >> > OK, I see. Thanks for the explanation. One more question is how about > clearing the corresponding status bit in get_status() rather than > making set_status() fail. Since the spec recommends this way for > validation which is done in virtio_dev_remove() and > virtio_finalize_features(). > > Thanks, > Yongji >
I think you can. Or it would be even better that we just don't set the bit during set_status().
I just realize that in vdpa_reset() we had:
static inline void vdpa_reset(struct vdpa_device *vdev) { const struct vdpa_config_ops *ops = vdev->config;
vdev->features_valid = false; ops->set_status(vdev, 0); }
We probably need to add the synchronization here. E.g re-read with a timeout.
Thanks
| ![\](/images/icornerr.gif) |