Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1434673
| From | "Michael S. Tsirkin" <mst@redhat.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH net-next V4 0/6] switch to use tx skb array in tun |
| Date | 2016-06-30 17:50 +0200 |
| Message-ID | <rPMo2-2Vc-15@gated-at.bofh.it> (permalink) |
| References | <rPDXr-6dZ-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Thu, Jun 30, 2016 at 02:45:30PM +0800, Jason Wang wrote: > Hi all: > > This series tries to switch to use skb array in tun. This is used to > eliminate the spinlock contention between producer and consumer. The > conversion was straightforward: just introdce a tx skb array and use > it instead of sk_receive_queue. > > A minor issue is to keep the tx_queue_len behaviour, since tun used to > use it for the length of sk_receive_queue. This is done through: > > - add the ability to resize multiple rings at once to avoid handling > partial resize failure for mutiple rings. > - add the support for zero length ring. > - introduce a notifier which was triggered when tx_queue_len was > changed for a netdev. > - resize all queues during the tx_queue_len changing. > > Tests shows about 15% improvement on guest rx pps: > > Before: ~1300000pps > After : ~1500000pps Acked-by: Michael S. Tsirkin <mst@redhat.com> Acked-from-altitude: 34697 feet. > Changes from V3: > - fix kbuild warnings > - call NETDEV_CHANGE_TX_QUEUE_LEN on IFLA_TXQLEN > > Changes from V2: > - add multiple rings resizing support for ptr_ring/skb_array > - add zero length ring support > - introdce a NETDEV_CHANGE_TX_QUEUE_LEN > - drop new flags > > Changes from V1: > - switch to use skb array instead of a customized circular buffer > - add non-blocking support > - rename .peek to .peek_len > - drop lockless peeking since test show very minor improvement > > Jason Wang (5): > ptr_ring: support zero length ring > skb_array: minor tweak > skb_array: add wrappers for resizing > net: introduce NETDEV_CHANGE_TX_QUEUE_LEN > tun: switch to use skb array for tx > > Michael S. Tsirkin (1): > ptr_ring: support resizing multiple queues > > drivers/net/tun.c | 138 ++++++++++++++++++++++++++++++++++++--- > drivers/vhost/net.c | 16 ++++- > include/linux/net.h | 1 + > include/linux/netdevice.h | 1 + > include/linux/ptr_ring.h | 77 ++++++++++++++++++---- > include/linux/skb_array.h | 13 +++- > net/core/net-sysfs.c | 15 ++++- > net/core/rtnetlink.c | 16 +++-- > tools/virtio/ringtest/ptr_ring.c | 5 ++ > 9 files changed, 255 insertions(+), 27 deletions(-) > > -- > 2.7.4
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH net-next V4 0/6] switch to use tx skb array in tun Jason Wang <jasowang@redhat.com> - 2016-06-30 08:50 +0200
[PATCH net-next V4 1/6] ptr_ring: support zero length ring Jason Wang <jasowang@redhat.com> - 2016-06-30 08:50 +0200
[PATCH net-next V4 6/6] tun: switch to use skb array for tx Jason Wang <jasowang@redhat.com> - 2016-06-30 08:50 +0200
[PATCH net-next V4 2/6] skb_array: minor tweak Jason Wang <jasowang@redhat.com> - 2016-06-30 08:50 +0200
Re: [PATCH net-next V4 0/6] switch to use tx skb array in tun "Michael S. Tsirkin" <mst@redhat.com> - 2016-06-30 17:50 +0200
Re: [PATCH net-next V4 0/6] switch to use tx skb array in tun Jason Wang <jasowang@redhat.com> - 2016-07-01 08:10 +0200
Re: [PATCH net-next V4 0/6] switch to use tx skb array in tun David Miller <davem@davemloft.net> - 2016-07-01 12:00 +0200
csiph-web