On Wed, 2014-10-15 at 15:25 +0800, Jason Wang wrote: ... > +static int free_old_xmit_skbs(struct send_queue *sq, int budget) > +{ > + struct sk_buff *skb; > + unsigned int len; > + struct virtnet_info *vi = sq->vq->vdev->priv; > + struct virtnet_stats *stats = this_cpu_ptr(vi->stats); > + u64 tx_bytes = 0, tx_packets = 0; > + > + while (tx_packets < budget && > + (skb = virtqueue_get_buf(sq->vq, &len)) != NULL) { > + pr_debug("Sent skb %p\n", skb); > + > + tx_bytes += skb->len; > + tx_packets++; > + > + dev_kfree_skb_any(skb); > + } > + > + u64_stats_update_begin(&stats->tx_syncp); > + stats->tx_bytes += tx_bytes; > + stats->tx_packets =+ tx_packets; stats->tx_packets += tx_packets; > + u64_stats_update_end(&stats->tx_syncp); > + > + return tx_packets; > +} _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization