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
..
2016-06-24 23:36:20 +02:00
2016-05-31 11:52:59 -07:00
2016-06-18 06:04:01 -10:00
2016-05-24 11:00:20 -07:00
2016-05-19 11:27:09 -07:00
2016-05-31 22:17:05 +05:30
2016-06-09 22:38:16 +02:00
2016-06-18 06:05:28 -10:00
2016-05-18 16:38:59 -07:00
2016-05-27 15:26:11 -07:00
2016-06-23 00:29:32 +02:00
2016-07-01 05:32:17 -04:00
2016-05-26 19:34:26 -07:00
2016-06-09 14:28:28 -06:00
2016-05-27 15:26:11 -07:00
2016-06-15 09:51:35 +01:00
2016-05-20 21:26:15 -07:00
2016-05-29 22:32:27 -07:00
2016-05-20 18:33:37 -07:00
2016-06-07 15:56:31 -07:00
2016-05-28 12:23:12 -07:00
2016-05-31 21:25:52 -06:00
2016-07-01 05:32:17 -04:00
2016-05-31 08:20:43 +03:00
2016-05-23 11:18:01 -07:00