Thread (30 messages) flat view 30 messages, 3 authors, 2016-09-07

Re: [net-next PATCH 04/15] net: sched: provide per cpu qstat helpers

From: John Fastabend <john.fastabend@gmail.com>
Date: 2016-08-24 00:06:22

On 16-08-23 04:25 PM, Eric Dumazet wrote:
On Tue, 2016-08-23 at 13:24 -0700, John Fastabend wrote:
quoted
The per cpu qstats support was added with per cpu bstat support which
is currently used by the ingress qdisc. This patch adds a set of
helpers needed to make other qdiscs that use qstats per cpu as well.

Signed-off-by: John Fastabend <redacted>
---
 include/net/sch_generic.h |   39 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index 3de6a8c..f1b8268 100644
--- a/include/net/sch_generic.h
+++ b/include/net/sch_generic.h
@@ -565,12 +565,43 @@ static inline void qdisc_qstats_backlog_dec(struct Qdisc *sch,
 	sch->qstats.backlog -= qdisc_pkt_len(skb);
 }
 
+static inline void qdisc_qstats_cpu_backlog_dec(struct Qdisc *sch,
+						const struct sk_buff *skb)
+{
+	struct gnet_stats_queue *q = this_cpu_ptr(sch->cpu_qstats);
+
+	q->backlog -= qdisc_pkt_len(skb);
Probably could use 
	this_cpu_sub(sch->cpu_qstats->backlog, qdisc_pkt_len(skb))
Sure, should probably create a patch to do the same for some existing
cases matching this pattern as well then.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help