On 2017年08月21日 11:28, lu.zhip...@zte.com.cn wrote:
  if (!vdev->use_guest_notifier_mask) {

         /* TODO: check and handle errors. */

         vhost_virtqueue_mask(dev, vdev, idx, false)

         ---------- set right  callfd

     }




     if (k->query_guest_notifiers &&

         k->query_guest_notifiers(qbus->parent) &&

         virtio_queue_vector(vdev, idx) == VIRTIO_NO_VECTOR) {

         file.fd = -1

         r = dev->vhost_ops->vhost_set_vring_call(dev, &file)

-----------set call fd to -1

         if (r) {

             goto fail_vector

         }

     }

  So   the callfd of  ovs+dpdk in host  is -1.  it  can't be able  to interact 
with the guest.



The queue does not even an vector, so it won't generate any interrupt. Why callfd is still needed?

Thanks


Reply via email to