On Mon, Jun 21, 2010 at 07:53:43PM +0930, Rusty Russell wrote:
> On Mon, 21 Jun 2010 06:03:16 pm Michael S. Tsirkin wrote:
> > On Mon, Jun 21, 2010 at 12:13:49PM +0930, Rusty Russell wrote:
> > > -         return NETDEV_TX_BUSY;
> > > +         kfree_skb(skb);
> > > +         return NETDEV_TX_OK;
> > 
> > If we do so, let's increment the dropped counter and/or error counter?
> 
> Yep, here's the extra change:

Looks good to me.

> diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
> --- a/drivers/net/virtio_net.c
> +++ b/drivers/net/virtio_net.c
> @@ -571,14 +571,16 @@ static netdev_tx_t start_xmit(struct sk_
>       /* This can happen with OOM and indirect buffers. */
>       if (unlikely(capacity < 0)) {
>               if (net_ratelimit()) {
> -                     if (likely(capacity == -ENOMEM))
> +                     if (likely(capacity == -ENOMEM)) {
>                               dev_warn(&dev->dev,
>                                        "TX queue failure: out of memory\n");
> -                     else
> +                     } else {
> +                             dev->stats.tx_fifo_errors++;
>                               dev_warn(&dev->dev,
>                                        "Unexpected TX queue failure: %d\n",
>                                        capacity);
>               }
> +             dev->stats.tx_dropped++;
>               kfree_skb(skb);
>               return NETDEV_TX_OK;
>       }
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization

Reply via email to