Jason Wang 1576d98605 tun: switch to use skb array for tx
We used to queue tx packets in sk_receive_queue, this is less
efficient since it requires spinlocks to synchronize between producer
and consumer.

This patch tries to address this by:

- switch from sk_receive_queue to a skb_array, and resize it when
  tx_queue_len was changed.
- introduce a new proto_ops peek_len which was used for peeking the
  skb length.
- implement a tun version of peek_len for vhost_net to use and convert
  vhost_net to use peek_len if possible.

Pktgen test shows about 15.3% improvement on guest receiving pps for small
buffers:

Before: ~1300000pps
After : ~1500000pps

Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-01 05:32:17 -04:00
..
2013-07-07 17:33:44 +03:00
2016-07-01 05:32:17 -04:00
2016-05-10 01:19:26 -07:00
2016-03-02 17:02:04 +02:00
2010-12-09 16:00:21 +02:00
2016-03-11 02:18:53 +02:00
2016-03-11 02:18:53 +02:00
2014-12-15 23:49:28 +02:00