lkml.org 
[lkml]   [2016]   [Nov]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[RFC PATCH 0/2] illustrate cmpxchg ring for tap/tun and qdisc
Date
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

\
 
 \ /
  Last update: 2016-11-11 05:45    [W:0.108 / U:0.544 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site