Jason Wang
2021-Jun-24 08:13 UTC
[PATCH v8 09/10] vduse: Introduce VDUSE - vDPA Device in Userspace
? 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