Thread (17 messages) flat view 17 messages, 6 authors, 2012-06-08

Re: [V2 RFC net-next PATCH 2/2] virtio_net: export more statistics through ethtool

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2012-06-08 07:04:36
Also in: lkml, virtualization

On Fri, Jun 08, 2012 at 11:35:25AM +0800, Jason Wang wrote:
quoted
quoted
quoted
 @@ -655,7 +695,17 @@ static netdev_tx_t start_xmit(struct sk_buff *skb, struct net_device *dev)
   		kfree_skb(skb);
   		return NETDEV_TX_OK;
   	}
 -	virtqueue_kick(vi->svq);
 +
 +	kick = virtqueue_kick_prepare(vi->svq);
 +	if (unlikely(kick))
 +		virtqueue_notify(vi->svq);
 +
 +	u64_stats_update_begin(&stats->syncp);
 +	if (unlikely(kick))
 +		stats->data[VIRTNET_TX_KICKS]++;
 +	stats->data[VIRTNET_TX_Q_BYTES] += skb->len;
 +	stats->data[VIRTNET_TX_Q_PACKETS]++;
is this statistic interesting?
how about decrementing when we free?
this way we see how many are pending..
Currently we didn't have per-vq statistics but per-cpu, so the skb
could be sent by one vcpu and freed by another.
Pehaps another reason to use per-queue satistics.
Just to stress these things do not need to contradict:
you can have per cpu stats for each queue.

-- 
MST
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help