Re: [RFC PATCH net-next 5/6] virtio-net: enable tx interrupt

2014-10-15 Thread Jason Wang
On 10/15/2014 06:43 PM, Michael S. Tsirkin wrote: > On Wed, Oct 15, 2014 at 06:25:25PM +0800, Jason Wang wrote: >> > On 10/15/2014 06:18 PM, Michael S. Tsirkin wrote: >>> > > On Wed, Oct 15, 2014 at 03:25:29PM +0800, Jason Wang wrote: > > >> > Orphan skb in ndo_start_xmit() breaks socket accoun

Re: [RFC PATCH net-next 5/6] virtio-net: enable tx interrupt

2014-10-15 Thread Michael S. Tsirkin
On Wed, Oct 15, 2014 at 06:25:25PM +0800, Jason Wang wrote: > On 10/15/2014 06:18 PM, Michael S. Tsirkin wrote: > > On Wed, Oct 15, 2014 at 03:25:29PM +0800, Jason Wang wrote: > >> > Orphan skb in ndo_start_xmit() breaks socket accounting and packet > >> > queuing. This in fact breaks lots of thing

Re: [RFC PATCH net-next 5/6] virtio-net: enable tx interrupt

2014-10-15 Thread Jason Wang
On 10/15/2014 06:18 PM, Michael S. Tsirkin wrote: > On Wed, Oct 15, 2014 at 03:25:29PM +0800, Jason Wang wrote: >> > Orphan skb in ndo_start_xmit() breaks socket accounting and packet >> > queuing. This in fact breaks lots of things such as pktgen and several >> > TCP optimizations. And also make B

Re: [RFC PATCH net-next 5/6] virtio-net: enable tx interrupt

2014-10-15 Thread Jason Wang
On 10/15/2014 05:37 PM, Eric Dumazet wrote: > 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; >> +

Re: [RFC PATCH net-next 5/6] virtio-net: enable tx interrupt

2014-10-15 Thread Michael S. Tsirkin
On Wed, Oct 15, 2014 at 03:25:29PM +0800, Jason Wang wrote: > Orphan skb in ndo_start_xmit() breaks socket accounting and packet > queuing. This in fact breaks lots of things such as pktgen and several > TCP optimizations. And also make BQL can't be implemented for > virtio-net. > > This patch tri

Re: [RFC PATCH net-next 5/6] virtio-net: enable tx interrupt

2014-10-15 Thread Eric Dumazet
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->sta