On Thu, Sep 26, 2019 at 04:35:18AM -0400, Michael S. Tsirkin wrote:
On Thu, Sep 26, 2019 at 12:54:27PM +0800, Tiwei Bie wrote:[...]
I think they are really good questions/suggestions. Thanks!diff --git a/include/uapi/linux/vhost.h b/include/uapi/linux/vhost.hSo assuming we have an underlying device that behaves like virtio:
index 40d028eed645..5afbc2f08fa3 100644
--- a/include/uapi/linux/vhost.h
+++ b/include/uapi/linux/vhost.h
@@ -116,4 +116,12 @@
#define VHOST_VSOCK_SET_GUEST_CID _IOW(VHOST_VIRTIO, 0x60, __u64)
#define VHOST_VSOCK_SET_RUNNING _IOW(VHOST_VIRTIO, 0x61, int)
+/* VHOST_MDEV specific defines */
+
+#define VHOST_MDEV_SET_STATE _IOW(VHOST_VIRTIO, 0x70, __u64)
+
+#define VHOST_MDEV_S_STOPPED 0
+#define VHOST_MDEV_S_RUNNING 1
+#define VHOST_MDEV_S_MAX 2
+
#endif
1. Should we use SET_STATUS maybe?I like this idea. I will give it a try.
2. Do we want a reset ioctl?I think it is helpful. If we use SET_STATUS, maybe we
can use it to support the reset.
3. Do we want ability to enable rings individually?I will make it possible at least in the vhost layer.
4. Does device need to limit max ring size?I think so. It's helpful to have ioctls to report the max
5. Does device need to limit max number of queues?
ring size and max number of queues.
Thanks!