This is a note to let you know that I've just added the patch titled
vhost: zerocopy: poll vq in zerocopy callback
to the 3.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
vhost-zerocopy-poll-vq-in-zerocopy-callback.patch
and it can be found in the queue-3.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From b732f7499646e4ba41eec865761de8d2d18a73dc Mon Sep 17 00:00:00 2001
From: Jason Wang <[email protected]>
Date: Tue, 6 Aug 2013 17:29:18 +0800
Subject: vhost: zerocopy: poll vq in zerocopy callback
From: Jason Wang <[email protected]>
commit c70aa540c7a9f67add11ad3161096fb95233aa2e upstream.
We add used and signal guest in worker thread but did not poll the virtqueue
during the zero copy callback. This may lead the missing of adding and
signalling during zerocopy. Solve this by polling the virtqueue and let it
wakeup the worker during callback.
Signed-off-by: Jason Wang <[email protected]>
Signed-off-by: Michael S. Tsirkin <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/vhost/vhost.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/vhost/vhost.c
+++ b/drivers/vhost/vhost.c
@@ -1603,6 +1603,7 @@ void vhost_zerocopy_callback(struct ubuf
struct vhost_ubuf_ref *ubufs = ubuf->ctx;
struct vhost_virtqueue *vq = ubufs->vq;
+ vhost_poll_queue(&vq->poll);
/* set len = 1 to mark this desc buffers done DMA */
vq->heads[ubuf->desc].len = VHOST_DMA_DONE_LEN;
kref_put(&ubufs->kref, vhost_zerocopy_done_signal);
Patches currently in stable-queue which might be from [email protected] are
queue-3.4/macvtap-do-not-zerocopy-if-iov-needs-more-pages-than-max_skb_frags.patch
queue-3.4/vhost-zerocopy-poll-vq-in-zerocopy-callback.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html