[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160616.170131.1753206993488742551.davem@davemloft.net>
Date: Thu, 16 Jun 2016 17:01:31 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: jasowang@...hat.com
Cc: mst@...hat.com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
virtualization@...ts.linux-foundation.org, eric.dumazet@...il.com,
brouer@...hat.com
Subject: Re: [PATCH net-next V2] tun: introduce tx skb ring
From: Jason Wang <jasowang@...hat.com>
Date: Wed, 15 Jun 2016 16:38:17 +0800
> 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:
>
> - introduce a new mode which will be only enabled with IFF_TX_ARRAY
> set and switch from sk_receive_queue to a fixed size of skb
> array with 256 entries in this mode.
> - 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 18% improvement on guest receiving pps for small
> buffers:
>
> Before: ~1220000pps
> After : ~1440000pps
>
> The reason why I stick to new mode is because:
>
> - though resize is supported by skb array, in multiqueue mode, it's
> not easy to recover from a partial success of queue resizing.
> - tx_queue_len is a user visible feature.
>
> Signed-off-by: Jason Wang <jasowang@...hat.com>
Michael, can you please review this, especially as this is the first
user of your new infrastructure :-)
Powered by blists - more mailing lists