On 2018/11/3 上午12:07, Vitaly Mayatskikh wrote:
+
+static int vhost_vq_poll_start(struct vhost_virtqueue *vq)
+{
+       if (!vq->worker) {
+               vq->worker = kthread_create(vhost_vq_worker, vq, "vhost-%d/%i",
+                                           vq->dev->pid, vq->index);
+               if (IS_ERR(vq->worker)) {
+                       int ret = PTR_ERR(vq->worker);
+
+                       pr_err("%s: can't create vq worker: %d\n", __func__,
+                              ret);
+                       vq->worker = NULL;
+                       return ret;
+               }
+       }
+       vhost_work_init(&vq->work, vhost_vq_poll_start_work);
+       vhost_vq_work_queue(vq, &vq->work);
+       return 0;
+}
+


I wonder whether or not it's better to allow the device to specific the worker here instead of forcing a per vq worker model. Then we can keep the behavior of exist implementation and do optimization on top?

Thanks


_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/virtualization

Reply via email to