All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V2 net-next 0/7] vhost-net rx batching
@ 2017-03-30  7:22 Jason Wang
  2017-03-30  7:22 ` [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing Jason Wang
                   ` (6 more replies)
  0 siblings, 7 replies; 19+ messages in thread
From: Jason Wang @ 2017-03-30  7:22 UTC (permalink / raw)
  To: netdev, linux-kernel; +Cc: mst, Jason Wang

Hi all:

This series tries to implement rx batching for vhost-net. This is done
by batching the dequeuing from skb_array which was exported by
underlayer socket and pass the sbk back through msg_control to finish
userspace copying.

Tests shows at most 19% improvment on rx pps.

Please review.

Thanks

Changes from V1:
- switch to use for() in __ptr_ring_consume_batched()
- rename peek_head_len_batched() to fetch_skbs()
- use skb_array_consume_batched() instead of
  skb_array_consume_batched_bh() since no consumer run in bh
- drop the lockless peeking patch since skb_array could be resized, so
  it's not safe to call lockless one

Jason Wang (7):
  ptr_ring: introduce batch dequeuing
  skb_array: introduce batch dequeuing
  tun: export skb_array
  tap: export skb_array
  tun: support receiving skb through msg_control
  tap: support receiving skb from msg_control
  vhost_net: try batch dequing from skb array

 drivers/net/tap.c         | 25 +++++++++++++++---
 drivers/net/tun.c         | 31 ++++++++++++++++------
 drivers/vhost/net.c       | 64 +++++++++++++++++++++++++++++++++++++++++++---
 include/linux/if_tap.h    |  5 ++++
 include/linux/if_tun.h    |  5 ++++
 include/linux/ptr_ring.h  | 65 +++++++++++++++++++++++++++++++++++++++++++++++
 include/linux/skb_array.h | 25 ++++++++++++++++++
 7 files changed, 204 insertions(+), 16 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2017-04-01  5:14 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-30  7:22 [PATCH V2 net-next 0/7] vhost-net rx batching Jason Wang
2017-03-30  7:22 ` [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing Jason Wang
2017-03-30 13:53   ` Michael S. Tsirkin
2017-03-31  3:52     ` Jason Wang
2017-03-31 14:31       ` Michael S. Tsirkin
2017-04-01  5:14         ` Jason Wang
2017-03-30  7:22 ` [PATCH V2 net-next 2/7] skb_array: " Jason Wang
2017-03-30  7:22 ` [PATCH V2 net-next 3/7] tun: export skb_array Jason Wang
2017-03-30  7:22 ` [PATCH V2 net-next 4/7] tap: " Jason Wang
2017-03-30  7:22 ` [PATCH V2 net-next 5/7] tun: support receiving skb through msg_control Jason Wang
2017-03-30 15:06   ` Michael S. Tsirkin
2017-03-31  4:10     ` Jason Wang
2017-03-30  7:22 ` [PATCH V2 net-next 6/7] tap: support receiving skb from msg_control Jason Wang
2017-03-30 15:03   ` Michael S. Tsirkin
2017-03-31  4:07     ` Jason Wang
2017-03-30  7:22 ` [PATCH V2 net-next 7/7] vhost_net: try batch dequing from skb array Jason Wang
2017-03-30 14:21   ` Michael S. Tsirkin
2017-03-31  4:02     ` Jason Wang
2017-03-31  6:47       ` Jason Wang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.