>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? ----it's a bug of my vhost-user backend. Thanks. 为了让您的VPlat虚拟机故障和docker故障得到高效的处理,请上报故障到: $VPlat技术支持。 芦志朋 luzhipeng IT开发工程师 IT Development Engineer 操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/System Product 四川省成都市天府大道中段800号 E: lu.zhip...@zte.com.cn www.zte.com.cn 原始邮件 发件人: <jasow...@redhat.com> 收件人:芦志朋10108272 抄送人: <qemu-devel@nongnu.org> <m...@redhat.com> 日 期 :2017年08月21日 11:35 主 题 :Re: [Qemu-devel] 答复: Re: [PATCH] vhost: don't set vring call fd to -1 invhost_virtqueue_start for vhost-user 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