* [Qemu-devel] [PATCH] vhost: don't set vring call fd to -1 in vhost_virtqueue_start for vhost-user
@ 2017-08-21 1:50 ZhiPeng Lu
2017-08-21 3:11 ` Jason Wang
0 siblings, 1 reply; 2+ messages in thread
From: ZhiPeng Lu @ 2017-08-21 1:50 UTC (permalink / raw)
To: mst; +Cc: jasowang, qemu-devel, ZhiPeng Lu
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 <lu.zhipeng@zte.com.cn>
---
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) {
--
1.8.3.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Qemu-devel] [PATCH] vhost: don't set vring call fd to -1 in vhost_virtqueue_start for vhost-user
2017-08-21 1:50 [Qemu-devel] [PATCH] vhost: don't set vring call fd to -1 in vhost_virtqueue_start for vhost-user ZhiPeng Lu
@ 2017-08-21 3:11 ` Jason Wang
0 siblings, 0 replies; 2+ messages in thread
From: Jason Wang @ 2017-08-21 3:11 UTC (permalink / raw)
To: ZhiPeng Lu, mst; +Cc: qemu-devel
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 <lu.zhipeng@zte.com.cn>
> ---
> 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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-08-21 3:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-21 1:50 [Qemu-devel] [PATCH] vhost: don't set vring call fd to -1 in vhost_virtqueue_start for vhost-user ZhiPeng Lu
2017-08-21 3:11 ` Jason Wang
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.