[Lguest] [PATCH RFC 2/3] virtio_net: fix tx capacity checks using new API

Rusty Russell rusty at rustcorp.com.au
Thu Jun 2 12:10:26 EST 2011


On Wed, 1 Jun 2011 12:49:54 +0300, "Michael S. Tsirkin" <mst at redhat.com> wrote:
> In the (rare) case where new descriptors are used
> while virtio_net enables vq callback for the TX vq,
> virtio_net uses the number of sg entries in the skb it frees to
> calculate how many descriptors in the ring have just been made
> available.  But this value is an overestimate: with indirect buffers
> each skb only uses one descriptor entry, meaning we may wake the queue
> only to find we still can't transmit anything.

This is a bit misleading.

The value is an overestimate, but so is the requirement for
2+MAX_SKB_FRAGS, *unless* we suddenly drop into direct mode due to OOM.

Thanks,
Rusty.


More information about the Lguest mailing list