svn commit: r261168 - head/sys/dev/virtio/network
Bryan Venteicher
bryanv at FreeBSD.org
Sat Jan 25 20:00:06 UTC 2014
Author: bryanv
Date: Sat Jan 25 19:58:53 2014
New Revision: 261168
URL: http://svnweb.freebsd.org/changeset/base/261168
Log:
Check for a full virtqueue in the multiqueue transmit path
With most hosts, we'll negotiate indirect descriptors, so all we
need is one available descriptor to transmit a frame.
Modified:
head/sys/dev/virtio/network/if_vtnet.c
Modified: head/sys/dev/virtio/network/if_vtnet.c
==============================================================================
--- head/sys/dev/virtio/network/if_vtnet.c Sat Jan 25 19:57:30 2014 (r261167)
+++ head/sys/dev/virtio/network/if_vtnet.c Sat Jan 25 19:58:53 2014 (r261168)
@@ -2243,6 +2243,12 @@ vtnet_txq_mq_start_locked(struct vtnet_t
vtnet_txq_eof(txq);
while ((m = drbr_peek(ifp, br)) != NULL) {
+ if (virtqueue_full(vq)) {
+ drbr_putback(ifp, br, m);
+ error = ENOBUFS;
+ break;
+ }
+
error = vtnet_txq_encap(txq, &m);
if (error) {
if (m != NULL)
More information about the svn-src-all
mailing list