qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] vhost: don't set vring call fd to -1 in vhost_v


From: Jason Wang
Subject: Re: [Qemu-devel] [PATCH] vhost: don't set vring call fd to -1 in vhost_virtqueue_start for vhost-user
Date: Mon, 21 Aug 2017 11:11:32 +0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1



On 2017年08月21日 09:50, ZhiPeng Lu wrote:
commit 96a3d98d2cdbd897ff5ab33427aa4cfb94077665 (vhost: don't set vring call
if no vector) set vring call fd to -1 for drivers does not use interrupt
at all(e.g virtio-net pmd). That patch setting vring call fd to -1 cause
the network to not work when running dpdk in the guest. The openvswitch port
status is down by executing the command "ovs-vsctl list interface"
in host of running the guest. The network is ok if it doesn't set vring call fd
to -1 in vhost_virtqueue_start.
The patch doesn't set vring call fd to -1 for vhost-user.

Signed-off-by: ZhiPeng Lu <address@hidden>
---
  hw/virtio/vhost.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index 6eddb09..bb8db7d 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -1098,7 +1098,8 @@ static int vhost_virtqueue_start(struct vhost_dev *dev,
if (k->query_guest_notifiers &&
          k->query_guest_notifiers(qbus->parent) &&
-        virtio_queue_vector(vdev, idx) == VIRTIO_NO_VECTOR) {
+        virtio_queue_vector(vdev, idx) == VIRTIO_NO_VECTOR &&
+        vdev->use_guest_notifier_mask) {
          file.fd = -1;
          r = dev->vhost_ops->vhost_set_vring_call(dev, &file);
          if (r) {

Hi:

Which kind/version of vhost-user bakcend did you use? What happen if we don't do vhost_set_vring_call for it? Is this a bug of vhost-user backend instead of qemu?

Thanks



reply via email to

[Prev in Thread] Current Thread [Next in Thread]