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


Groups > linux.kernel > #1519564

[RFC PATCH 0/2] illustrate cmpxchg ring for tap/tun and qdisc

From John Fastabend <john.fastabend@gmail.com>
Newsgroups linux.kernel
Subject [RFC PATCH 0/2] illustrate cmpxchg ring for tap/tun and qdisc
Date 2016-11-11 05:50 +0100
Message-ID <sCbWN-7Z4-3@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


This is a cmpxchg ring that could potentially be used to replace the spinlock
variant of skb_array.

Couple comments its missing a resize operator which would need to be added
before it could be a drop in replacement. And although I tested the first
patch with my latest set of qdisc updates the second patch I have not tested
for a bit so it may or may not work but it illustrates the idea at least.

This was derived from the DPDK documentation where there is a description
of the cmpxchg ring presumably used there. It may or may not actually align
with what is done in DPDK implementation I have no idea I didn't look.


---

John Fastabend (2):
      net: use cmpxchg instead of spinlock in ptr rings
      ptr_ring_ll: pop/push multiple objects at once


 include/linux/netdevice.h   |   12 ----
 include/linux/ptr_ring_ll.h |  146 +++++++++++++++++++++++++++++++++++++++++++
 include/linux/skb_array.h   |   32 +++++++++
 net/core/dev.c              |   18 +----
 net/sched/sch_generic.c     |   86 +++++++++++++------------
 5 files changed, 224 insertions(+), 70 deletions(-)
 create mode 100644 include/linux/ptr_ring_ll.h

--
Signature

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


Thread

[RFC PATCH 0/2] illustrate cmpxchg ring for tap/tun and qdisc John Fastabend <john.fastabend@gmail.com> - 2016-11-11 05:50 +0100
  [RFC PATCH 2/2] ptr_ring_ll: pop/push multiple objects at once John Fastabend <john.fastabend@gmail.com> - 2016-11-11 05:50 +0100
    Re: [RFC PATCH 2/2] ptr_ring_ll: pop/push multiple objects at once "Michael S. Tsirkin" <mst@redhat.com> - 2016-11-15 00:10 +0100
      Re: [RFC PATCH 2/2] ptr_ring_ll: pop/push multiple objects at once John Fastabend <john.fastabend@gmail.com> - 2016-11-16 05:50 +0100
        Re: [RFC PATCH 2/2] ptr_ring_ll: pop/push multiple objects at once "Michael S. Tsirkin" <mst@redhat.com> - 2016-11-16 06:30 +0100
  [RFC PATCH 1/2] net: use cmpxchg instead of spinlock in ptr rings John Fastabend <john.fastabend@gmail.com> - 2016-11-11 05:50 +0100
    Re: [RFC PATCH 1/2] net: use cmpxchg instead of spinlock in ptr  rings Jesper Dangaard Brouer <netdev@brouer.com> - 2016-11-14 12:20 +0100
    Re: [RFC PATCH 1/2] net: use cmpxchg instead of spinlock in ptr rings "Michael S. Tsirkin" <mst@redhat.com> - 2016-11-15 00:10 +0100
      Re: [RFC PATCH 1/2] net: use cmpxchg instead of spinlock in ptr rings John Fastabend <john.fastabend@gmail.com> - 2016-11-16 05:40 +0100

csiph-web