diff options
| author | David S. Miller <[email protected]> | 2018-05-17 12:46:55 -0400 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2018-05-17 12:46:55 -0400 |
| commit | 4b9c77680375f5ecb7d2c4bc4c0db67cdf531c09 (patch) | |
| tree | 6e6b0d4339e495a4c94e8489f3b06a00033fa435 /include/linux | |
| parent | b9f672af148bf7a08a6031743156faffd58dbc7e (diff) | |
| parent | 021a17ed796b62383f7623f4fea73787abddad77 (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.h | 5 |
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); |