vhost_net: zerocopy: adding and signalling immediately when fully copied
authorJason Wang <jasowang@redhat.com>
Wed, 2 May 2012 03:42:41 +0000 (11:42 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 2 May 2012 15:22:24 +0000 (18:22 +0300)
When a packet were fully copied in zerocopy, we don't wait for the DMA done to
mark the done flag, so after the packet were passed to lower device, we need to
add used and signal guest immediately.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
drivers/vhost/net.c

index f54b1d5..853db7a 100644 (file)
@@ -266,6 +266,8 @@ static void handle_tx(struct vhost_net *net)
                                 " len %d != %zd\n", err, len);
                if (!zcopy)
                        vhost_add_used_and_signal(&net->dev, vq, head, 0);
+               else
+                       vhost_zerocopy_signal_used(vq);
                total_len += len;
                if (unlikely(total_len >= VHOST_NET_WEIGHT)) {
                        vhost_poll_queue(&vq->poll);