summaryrefslogtreecommitdiff
path: root/drivers/vhost
diff options
context:
space:
mode:
authorJason Wang <jasowang@redhat.com>2012-05-02 03:42:41 (GMT)
committerMichael S. Tsirkin <mst@redhat.com>2012-05-02 15:22:24 (GMT)
commitc8fb217af57c6c232af3517d3115d2af4ce9900e (patch)
treec570166201d18f7672178e37b4f8fa6689ea8448 /drivers/vhost
parentdbf34207c62bdec16b49721d119647c470a3443c (diff)
downloadlinux-fsl-qoriq-c8fb217af57c6c232af3517d3115d2af4ce9900e.tar.xz
vhost_net: zerocopy: adding and signalling immediately when fully copied
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>
Diffstat (limited to 'drivers/vhost')
-rw-r--r--drivers/vhost/net.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/vhost/net.c b/drivers/vhost/net.c
index f54b1d5..853db7a 100644
--- a/drivers/vhost/net.c
+++ b/drivers/vhost/net.c
@@ -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);