All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next V4 00/10] vhost_net batch dequeuing
@ 2017-05-10  3:36 Jason Wang
  2017-05-10  3:36 ` [PATCH net-next V4 01/10] ptr_ring: batch ring zeroing Jason Wang
                   ` (10 more replies)
  0 siblings, 11 replies; 14+ messages in thread
From: Jason Wang @ 2017-05-10  3:36 UTC (permalink / raw)
  To: netdev, linux-kernel, mst; +Cc: Jason Wang

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. This is also the requirement for more batching
implemention on rx path.

Tests shows at most 8.8% improvment bon rx pps on top of batch zeroing.

Please review.

Thanks

Changes from V3:
- add batch zeroing patch to fix the build warnings

Changes from V2:
- rebase to net-next HEAD
- use unconsume helpers to put skb back on releasing
- introduce and use vhost_net internal buffer helpers
- renew performance numbers on top of batch zeroing

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 (8):
  skb_array: introduce skb_array_unconsume
  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

Michael S. Tsirkin (2):
  ptr_ring: batch ring zeroing
  ptr_ring: add ptr_ring_unconsume

 drivers/net/tap.c         |  25 ++++++-
 drivers/net/tun.c         |  31 ++++++--
 drivers/vhost/net.c       | 117 +++++++++++++++++++++++++++--
 include/linux/if_tap.h    |   5 ++
 include/linux/if_tun.h    |   5 ++
 include/linux/ptr_ring.h  | 183 +++++++++++++++++++++++++++++++++++++++++++---
 include/linux/skb_array.h |  31 ++++++++
 7 files changed, 370 insertions(+), 27 deletions(-)

-- 
2.7.4

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

end of thread, other threads:[~2017-05-11  2:47 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-05-10  3:36 [PATCH net-next V4 00/10] vhost_net batch dequeuing Jason Wang
2017-05-10  3:36 ` [PATCH net-next V4 01/10] ptr_ring: batch ring zeroing Jason Wang
2017-05-10  3:36 ` [PATCH net-next V4 02/10] ptr_ring: add ptr_ring_unconsume Jason Wang
2017-05-10  3:36 ` [PATCH net-next V4 03/10] skb_array: introduce skb_array_unconsume Jason Wang
2017-05-10  3:36 ` [PATCH net-next V4 04/10] ptr_ring: introduce batch dequeuing Jason Wang
2017-05-10  3:36 ` [PATCH net-next V4 05/10] skb_array: " Jason Wang
2017-05-10  3:36 ` [PATCH net-next V4 06/10] tun: export skb_array Jason Wang
2017-05-10  3:36 ` [PATCH net-next V4 07/10] tap: " Jason Wang
2017-05-10  3:36 ` [PATCH net-next V4 08/10] tun: support receiving skb through msg_control Jason Wang
2017-05-10  3:36 ` [PATCH net-next V4 09/10] tap: support receiving skb from msg_control Jason Wang
2017-05-10  3:36 ` [PATCH net-next V4 10/10] vhost_net: try batch dequing from skb array Jason Wang
2017-05-10 12:34   ` Michael S. Tsirkin
2017-05-11  2:47     ` Jason Wang
2017-05-10 12:37 ` [PATCH net-next V4 00/10] vhost_net batch dequeuing Michael S. Tsirkin

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.