Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1612653

[PATCH V2 net-next 0/7] vhost-net rx batching

From Jason Wang <jasowang@redhat.com>
Newsgroups linux.kernel
Subject [PATCH V2 net-next 0/7] vhost-net rx batching
Date 2017-03-30 09:30 +0200
Message-ID <tqCGR-2MS-7@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


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

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[PATCH V2 net-next 0/7] vhost-net rx batching Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
  [PATCH V2 net-next 6/7] tap: support receiving skb from msg_control Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
    Re: [PATCH V2 net-next 6/7] tap: support receiving skb from  msg_control "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-30 17:10 +0200
      Re: [PATCH V2 net-next 6/7] tap: support receiving skb from  msg_control Jason Wang <jasowang@redhat.com> - 2017-03-31 06:10 +0200
  [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
    Re: [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-30 16:00 +0200
      Re: [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing Jason Wang <jasowang@redhat.com> - 2017-03-31 06:00 +0200
        Re: [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-31 16:40 +0200
          Re: [PATCH V2 net-next 1/7] ptr_ring: introduce batch dequeuing Jason Wang <jasowang@redhat.com> - 2017-04-01 07:20 +0200
  [PATCH V2 net-next 4/7] tap: export skb_array Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
  [PATCH V2 net-next 3/7] tun: export skb_array Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
  [PATCH V2 net-next 2/7] skb_array: introduce batch dequeuing Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
  [PATCH V2 net-next 7/7] vhost_net: try batch dequing from skb array Jason Wang <jasowang@redhat.com> - 2017-03-30 09:30 +0200
    Re: [PATCH V2 net-next 7/7] vhost_net: try batch dequing from skb  array "Michael S. Tsirkin" <mst@redhat.com> - 2017-03-30 16:30 +0200
      Re: [PATCH V2 net-next 7/7] vhost_net: try batch dequing from skb  array Jason Wang <jasowang@redhat.com> - 2017-03-31 06:10 +0200
        Re: [PATCH V2 net-next 7/7] vhost_net: try batch dequing from skb  array Jason Wang <jasowang@redhat.com> - 2017-03-31 08:50 +0200

csiph-web