aboutsummaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorDavid S. Miller <[email protected]>2018-05-17 12:46:55 -0400
committerDavid S. Miller <[email protected]>2018-05-17 12:46:55 -0400
commit4b9c77680375f5ecb7d2c4bc4c0db67cdf531c09 (patch)
tree6e6b0d4339e495a4c94e8489f3b06a00033fa435 /include/linux
parentb9f672af148bf7a08a6031743156faffd58dbc7e (diff)
parent021a17ed796b62383f7623f4fea73787abddad77 (diff)
Merge branch 'sched-refactor-NOLOCK-qdiscs'
Paolo Abeni says: ==================== sched: refactor NOLOCK qdiscs With the introduction of NOLOCK qdiscs, pfifo_fast performances in the uncontended scenario degraded measurably, especially after the commit eb82a9944792 ("net: sched, fix OOO packets with pfifo_fast"). This series restore the pfifo_fast performances in such scenario back the previous level, mainly reducing the number of atomic operations required to perform the qdisc_run() call. Even performances in the contended scenario increase measurably. Note: This series is on top of: sched: manipulate __QDISC_STATE_RUNNING in qdisc_run_* helpers ==================== Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/skb_array.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/skb_array.h b/include/linux/skb_array.h
index a6b6e8bb3d7b..62d9b0a6329f 100644
--- a/include/linux/skb_array.h
+++ b/include/linux/skb_array.h
@@ -97,6 +97,11 @@ static inline bool skb_array_empty_any(struct skb_array *a)
return ptr_ring_empty_any(&a->ring);
}
+static inline struct sk_buff *__skb_array_consume(struct skb_array *a)
+{
+ return __ptr_ring_consume(&a->ring);
+}
+
static inline struct sk_buff *skb_array_consume(struct skb_array *a)
{
return ptr_ring_consume(&a->ring);